/*
 * Copyright (C) 2024 Huawei Device Co., Ltd.
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

/* automatically generated by rust-bindgen 0.70.1 */

pub const _BSD_SOURCE: u32 = 1;
pub const _XOPEN_SOURCE: u32 = 700;
pub const __BYTE_ORDER: u32 = 1234;
pub const __LONG_MAX: u64 = 9223372036854775807;
pub const __LITTLE_ENDIAN: u32 = 1234;
pub const __BIG_ENDIAN: u32 = 4321;
pub const __USE_TIME_BITS64: u32 = 1;
pub const INT8_MIN: i32 = -128;
pub const INT16_MIN: i32 = -32768;
pub const INT32_MIN: i32 = -2147483648;
pub const INT64_MIN: i64 = -9223372036854775808;
pub const INT8_MAX: u32 = 127;
pub const INT16_MAX: u32 = 32767;
pub const INT32_MAX: u32 = 2147483647;
pub const INT64_MAX: u64 = 9223372036854775807;
pub const UINT8_MAX: u32 = 255;
pub const UINT16_MAX: u32 = 65535;
pub const UINT32_MAX: u32 = 4294967295;
pub const UINT64_MAX: i32 = -1;
pub const INT_FAST8_MIN: i32 = -128;
pub const INT_FAST64_MIN: i64 = -9223372036854775808;
pub const INT_LEAST8_MIN: i32 = -128;
pub const INT_LEAST16_MIN: i32 = -32768;
pub const INT_LEAST32_MIN: i32 = -2147483648;
pub const INT_LEAST64_MIN: i64 = -9223372036854775808;
pub const INT_FAST8_MAX: u32 = 127;
pub const INT_FAST64_MAX: u64 = 9223372036854775807;
pub const INT_LEAST8_MAX: u32 = 127;
pub const INT_LEAST16_MAX: u32 = 32767;
pub const INT_LEAST32_MAX: u32 = 2147483647;
pub const INT_LEAST64_MAX: u64 = 9223372036854775807;
pub const UINT_FAST8_MAX: u32 = 255;
pub const UINT_FAST64_MAX: i32 = -1;
pub const UINT_LEAST8_MAX: u32 = 255;
pub const UINT_LEAST16_MAX: u32 = 65535;
pub const UINT_LEAST32_MAX: u32 = 4294967295;
pub const UINT_LEAST64_MAX: i32 = -1;
pub const INTMAX_MIN: i64 = -9223372036854775808;
pub const INTMAX_MAX: u64 = 9223372036854775807;
pub const UINTMAX_MAX: i32 = -1;
pub const WINT_MIN: u32 = 0;
pub const WINT_MAX: u32 = 4294967295;
pub const SIG_ATOMIC_MIN: i32 = -2147483648;
pub const SIG_ATOMIC_MAX: u32 = 2147483647;
pub const INT_FAST16_MIN: i32 = -2147483648;
pub const INT_FAST32_MIN: i32 = -2147483648;
pub const INT_FAST16_MAX: u32 = 2147483647;
pub const INT_FAST32_MAX: u32 = 2147483647;
pub const UINT_FAST16_MAX: u32 = 4294967295;
pub const UINT_FAST32_MAX: u32 = 4294967295;
pub const INTPTR_MIN: i64 = -9223372036854775808;
pub const INTPTR_MAX: u64 = 9223372036854775807;
pub const UINTPTR_MAX: i32 = -1;
pub const PTRDIFF_MIN: i64 = -9223372036854775808;
pub const PTRDIFF_MAX: u64 = 9223372036854775807;
pub const SIZE_MAX: i32 = -1;
pub const __PRI64: &[u8; 2] = b"l\0";
pub const __PRIPTR: &[u8; 2] = b"l\0";
pub const PRId8: &[u8; 2] = b"d\0";
pub const PRId16: &[u8; 2] = b"d\0";
pub const PRId32: &[u8; 2] = b"d\0";
pub const PRId64: &[u8; 3] = b"ld\0";
pub const PRIdLEAST8: &[u8; 2] = b"d\0";
pub const PRIdLEAST16: &[u8; 2] = b"d\0";
pub const PRIdLEAST32: &[u8; 2] = b"d\0";
pub const PRIdLEAST64: &[u8; 3] = b"ld\0";
pub const PRIdFAST8: &[u8; 2] = b"d\0";
pub const PRIdFAST16: &[u8; 2] = b"d\0";
pub const PRIdFAST32: &[u8; 2] = b"d\0";
pub const PRIdFAST64: &[u8; 3] = b"ld\0";
pub const PRIi8: &[u8; 2] = b"i\0";
pub const PRIi16: &[u8; 2] = b"i\0";
pub const PRIi32: &[u8; 2] = b"i\0";
pub const PRIi64: &[u8; 3] = b"li\0";
pub const PRIiLEAST8: &[u8; 2] = b"i\0";
pub const PRIiLEAST16: &[u8; 2] = b"i\0";
pub const PRIiLEAST32: &[u8; 2] = b"i\0";
pub const PRIiLEAST64: &[u8; 3] = b"li\0";
pub const PRIiFAST8: &[u8; 2] = b"i\0";
pub const PRIiFAST16: &[u8; 2] = b"i\0";
pub const PRIiFAST32: &[u8; 2] = b"i\0";
pub const PRIiFAST64: &[u8; 3] = b"li\0";
pub const PRIo8: &[u8; 2] = b"o\0";
pub const PRIo16: &[u8; 2] = b"o\0";
pub const PRIo32: &[u8; 2] = b"o\0";
pub const PRIo64: &[u8; 3] = b"lo\0";
pub const PRIoLEAST8: &[u8; 2] = b"o\0";
pub const PRIoLEAST16: &[u8; 2] = b"o\0";
pub const PRIoLEAST32: &[u8; 2] = b"o\0";
pub const PRIoLEAST64: &[u8; 3] = b"lo\0";
pub const PRIoFAST8: &[u8; 2] = b"o\0";
pub const PRIoFAST16: &[u8; 2] = b"o\0";
pub const PRIoFAST32: &[u8; 2] = b"o\0";
pub const PRIoFAST64: &[u8; 3] = b"lo\0";
pub const PRIu8: &[u8; 2] = b"u\0";
pub const PRIu16: &[u8; 2] = b"u\0";
pub const PRIu32: &[u8; 2] = b"u\0";
pub const PRIu64: &[u8; 3] = b"lu\0";
pub const PRIuLEAST8: &[u8; 2] = b"u\0";
pub const PRIuLEAST16: &[u8; 2] = b"u\0";
pub const PRIuLEAST32: &[u8; 2] = b"u\0";
pub const PRIuLEAST64: &[u8; 3] = b"lu\0";
pub const PRIuFAST8: &[u8; 2] = b"u\0";
pub const PRIuFAST16: &[u8; 2] = b"u\0";
pub const PRIuFAST32: &[u8; 2] = b"u\0";
pub const PRIuFAST64: &[u8; 3] = b"lu\0";
pub const PRIx8: &[u8; 2] = b"x\0";
pub const PRIx16: &[u8; 2] = b"x\0";
pub const PRIx32: &[u8; 2] = b"x\0";
pub const PRIx64: &[u8; 3] = b"lx\0";
pub const PRIxLEAST8: &[u8; 2] = b"x\0";
pub const PRIxLEAST16: &[u8; 2] = b"x\0";
pub const PRIxLEAST32: &[u8; 2] = b"x\0";
pub const PRIxLEAST64: &[u8; 3] = b"lx\0";
pub const PRIxFAST8: &[u8; 2] = b"x\0";
pub const PRIxFAST16: &[u8; 2] = b"x\0";
pub const PRIxFAST32: &[u8; 2] = b"x\0";
pub const PRIxFAST64: &[u8; 3] = b"lx\0";
pub const PRIX8: &[u8; 2] = b"X\0";
pub const PRIX16: &[u8; 2] = b"X\0";
pub const PRIX32: &[u8; 2] = b"X\0";
pub const PRIX64: &[u8; 3] = b"lX\0";
pub const PRIXLEAST8: &[u8; 2] = b"X\0";
pub const PRIXLEAST16: &[u8; 2] = b"X\0";
pub const PRIXLEAST32: &[u8; 2] = b"X\0";
pub const PRIXLEAST64: &[u8; 3] = b"lX\0";
pub const PRIXFAST8: &[u8; 2] = b"X\0";
pub const PRIXFAST16: &[u8; 2] = b"X\0";
pub const PRIXFAST32: &[u8; 2] = b"X\0";
pub const PRIXFAST64: &[u8; 3] = b"lX\0";
pub const PRIdMAX: &[u8; 3] = b"ld\0";
pub const PRIiMAX: &[u8; 3] = b"li\0";
pub const PRIoMAX: &[u8; 3] = b"lo\0";
pub const PRIuMAX: &[u8; 3] = b"lu\0";
pub const PRIxMAX: &[u8; 3] = b"lx\0";
pub const PRIXMAX: &[u8; 3] = b"lX\0";
pub const PRIdPTR: &[u8; 3] = b"ld\0";
pub const PRIiPTR: &[u8; 3] = b"li\0";
pub const PRIoPTR: &[u8; 3] = b"lo\0";
pub const PRIuPTR: &[u8; 3] = b"lu\0";
pub const PRIxPTR: &[u8; 3] = b"lx\0";
pub const PRIXPTR: &[u8; 3] = b"lX\0";
pub const SCNd8: &[u8; 4] = b"hhd\0";
pub const SCNd16: &[u8; 3] = b"hd\0";
pub const SCNd32: &[u8; 2] = b"d\0";
pub const SCNd64: &[u8; 3] = b"ld\0";
pub const SCNdLEAST8: &[u8; 4] = b"hhd\0";
pub const SCNdLEAST16: &[u8; 3] = b"hd\0";
pub const SCNdLEAST32: &[u8; 2] = b"d\0";
pub const SCNdLEAST64: &[u8; 3] = b"ld\0";
pub const SCNdFAST8: &[u8; 4] = b"hhd\0";
pub const SCNdFAST16: &[u8; 2] = b"d\0";
pub const SCNdFAST32: &[u8; 2] = b"d\0";
pub const SCNdFAST64: &[u8; 3] = b"ld\0";
pub const SCNi8: &[u8; 4] = b"hhi\0";
pub const SCNi16: &[u8; 3] = b"hi\0";
pub const SCNi32: &[u8; 2] = b"i\0";
pub const SCNi64: &[u8; 3] = b"li\0";
pub const SCNiLEAST8: &[u8; 4] = b"hhi\0";
pub const SCNiLEAST16: &[u8; 3] = b"hi\0";
pub const SCNiLEAST32: &[u8; 2] = b"i\0";
pub const SCNiLEAST64: &[u8; 3] = b"li\0";
pub const SCNiFAST8: &[u8; 4] = b"hhi\0";
pub const SCNiFAST16: &[u8; 2] = b"i\0";
pub const SCNiFAST32: &[u8; 2] = b"i\0";
pub const SCNiFAST64: &[u8; 3] = b"li\0";
pub const SCNu8: &[u8; 4] = b"hhu\0";
pub const SCNu16: &[u8; 3] = b"hu\0";
pub const SCNu32: &[u8; 2] = b"u\0";
pub const SCNu64: &[u8; 3] = b"lu\0";
pub const SCNuLEAST8: &[u8; 4] = b"hhu\0";
pub const SCNuLEAST16: &[u8; 3] = b"hu\0";
pub const SCNuLEAST32: &[u8; 2] = b"u\0";
pub const SCNuLEAST64: &[u8; 3] = b"lu\0";
pub const SCNuFAST8: &[u8; 4] = b"hhu\0";
pub const SCNuFAST16: &[u8; 2] = b"u\0";
pub const SCNuFAST32: &[u8; 2] = b"u\0";
pub const SCNuFAST64: &[u8; 3] = b"lu\0";
pub const SCNo8: &[u8; 4] = b"hho\0";
pub const SCNo16: &[u8; 3] = b"ho\0";
pub const SCNo32: &[u8; 2] = b"o\0";
pub const SCNo64: &[u8; 3] = b"lo\0";
pub const SCNoLEAST8: &[u8; 4] = b"hho\0";
pub const SCNoLEAST16: &[u8; 3] = b"ho\0";
pub const SCNoLEAST32: &[u8; 2] = b"o\0";
pub const SCNoLEAST64: &[u8; 3] = b"lo\0";
pub const SCNoFAST8: &[u8; 4] = b"hho\0";
pub const SCNoFAST16: &[u8; 2] = b"o\0";
pub const SCNoFAST32: &[u8; 2] = b"o\0";
pub const SCNoFAST64: &[u8; 3] = b"lo\0";
pub const SCNx8: &[u8; 4] = b"hhx\0";
pub const SCNx16: &[u8; 3] = b"hx\0";
pub const SCNx32: &[u8; 2] = b"x\0";
pub const SCNx64: &[u8; 3] = b"lx\0";
pub const SCNxLEAST8: &[u8; 4] = b"hhx\0";
pub const SCNxLEAST16: &[u8; 3] = b"hx\0";
pub const SCNxLEAST32: &[u8; 2] = b"x\0";
pub const SCNxLEAST64: &[u8; 3] = b"lx\0";
pub const SCNxFAST8: &[u8; 4] = b"hhx\0";
pub const SCNxFAST16: &[u8; 2] = b"x\0";
pub const SCNxFAST32: &[u8; 2] = b"x\0";
pub const SCNxFAST64: &[u8; 3] = b"lx\0";
pub const SCNdMAX: &[u8; 3] = b"ld\0";
pub const SCNiMAX: &[u8; 3] = b"li\0";
pub const SCNoMAX: &[u8; 3] = b"lo\0";
pub const SCNuMAX: &[u8; 3] = b"lu\0";
pub const SCNxMAX: &[u8; 3] = b"lx\0";
pub const SCNdPTR: &[u8; 3] = b"ld\0";
pub const SCNiPTR: &[u8; 3] = b"li\0";
pub const SCNoPTR: &[u8; 3] = b"lo\0";
pub const SCNuPTR: &[u8; 3] = b"lu\0";
pub const SCNxPTR: &[u8; 3] = b"lx\0";
pub const __bool_true_false_are_defined: u32 = 1;
pub const true_: u32 = 1;
pub const false_: u32 = 0;
pub const NAPI_VERSION: u32 = 8;
pub const NAPI_VERSION_EXPERIMENTAL: u32 = 2147483647;
pub const NAPI_AUTO_LENGTH: i32 = -1;
pub const NAPI_MODULE_VERSION: u32 = 1;
pub const UDMF_KEY_BUFFER_LEN: u32 = 512;
pub const UDMF_META_ENTITY: &[u8; 15] = b"general.entity\0";
pub const UDMF_META_OBJECT: &[u8; 15] = b"general.object\0";
pub const UDMF_META_COMPOSITE_OBJECT: &[u8; 25] = b"general.composite-object\0";
pub const UDMF_META_TEXT: &[u8; 13] = b"general.text\0";
pub const UDMF_META_PLAIN_TEXT: &[u8; 19] = b"general.plain-text\0";
pub const UDMF_META_HTML: &[u8; 13] = b"general.html\0";
pub const UDMF_META_HYPERLINK: &[u8; 18] = b"general.hyperlink\0";
pub const UDMF_META_XML: &[u8; 12] = b"general.xml\0";
pub const UDMF_META_SOURCE_CODE: &[u8; 20] = b"general.source-code\0";
pub const UDMF_META_SCRIPT: &[u8; 15] = b"general.script\0";
pub const UDMF_META_SHELL_SCRIPT: &[u8; 21] = b"general.shell-script\0";
pub const UDMF_META_CSH_SCRIPT: &[u8; 19] = b"general.csh-script\0";
pub const UDMF_META_PERL_SCRIPT: &[u8; 20] = b"general.perl-script\0";
pub const UDMF_META_PHP_SCRIPT: &[u8; 19] = b"general.php-script\0";
pub const UDMF_META_PYTHON_SCRIPT: &[u8; 22] = b"general.python-script\0";
pub const UDMF_META_RUBY_SCRIPT: &[u8; 20] = b"general.ruby-script\0";
pub const UDMF_META_TYPE_SCRIPT: &[u8; 20] = b"general.type-script\0";
pub const UDMF_META_JAVA_SCRIPT: &[u8; 20] = b"general.java-script\0";
pub const UDMF_META_C_HEADER: &[u8; 17] = b"general.c-header\0";
pub const UDMF_META_C_SOURCE: &[u8; 17] = b"general.c-source\0";
pub const UDMF_META_C_PLUS_PLUS_HEADER: &[u8; 27] = b"general.c-plus-plus-header\0";
pub const UDMF_META_C_PLUS_PLUS_SOURCE: &[u8; 27] = b"general.c-plus-plus-source\0";
pub const UDMF_META_JAVA_SOURCE: &[u8; 20] = b"general.java-source\0";
pub const UDMF_META_EBOOK: &[u8; 14] = b"general.ebook\0";
pub const UDMF_META_EPUB: &[u8; 13] = b"general.epub\0";
pub const UDMF_META_AZW: &[u8; 15] = b"com.amazon.azw\0";
pub const UDMF_META_AZW3: &[u8; 16] = b"com.amazon.azw3\0";
pub const UDMF_META_KFX: &[u8; 15] = b"com.amazon.kfx\0";
pub const UDMF_META_MOBI: &[u8; 16] = b"com.amazon.mobi\0";
pub const UDMF_META_MEDIA: &[u8; 14] = b"general.media\0";
pub const UDMF_META_IMAGE: &[u8; 14] = b"general.image\0";
pub const UDMF_META_JPEG: &[u8; 13] = b"general.jpeg\0";
pub const UDMF_META_PNG: &[u8; 12] = b"general.png\0";
pub const UDMF_META_RAW_IMAGE: &[u8; 18] = b"general.raw-image\0";
pub const UDMF_META_TIFF: &[u8; 13] = b"general.tiff\0";
pub const UDMF_META_BMP: &[u8; 18] = b"com.microsoft.bmp\0";
pub const UDMF_META_ICO: &[u8; 18] = b"com.microsoft.ico\0";
pub const UDMF_META_PHOTOSHOP_IMAGE: &[u8; 26] = b"com.adobe.photoshop-image\0";
pub const UDMF_META_AI_IMAGE: &[u8; 31] = b"com.adobe.illustrator.ai-image\0";
pub const UDMF_META_WORD_DOC: &[u8; 23] = b"com.microsoft.word.doc\0";
pub const UDMF_META_EXCEL: &[u8; 24] = b"com.microsoft.excel.xls\0";
pub const UDMF_META_PPT: &[u8; 29] = b"com.microsoft.powerpoint.ppt\0";
pub const UDMF_META_PDF: &[u8; 14] = b"com.adobe.pdf\0";
pub const UDMF_META_POSTSCRIPT: &[u8; 21] = b"com.adobe.postscript\0";
pub const UDMF_META_ENCAPSULATED_POSTSCRIPT: &[u8; 34] = b"com.adobe.encapsulated-postscript\0";
pub const UDMF_META_VIDEO: &[u8; 14] = b"general.video\0";
pub const UDMF_META_AVI: &[u8; 12] = b"general.avi\0";
pub const UDMF_META_MPEG: &[u8; 13] = b"general.mpeg\0";
pub const UDMF_META_MPEG4: &[u8; 15] = b"general.mpeg-4\0";
pub const UDMF_META_VIDEO_3GPP: &[u8; 13] = b"general.3gpp\0";
pub const UDMF_META_VIDEO_3GPP2: &[u8; 14] = b"general.3gpp2\0";
pub const UDMF_META_WINDOWS_MEDIA_WM: &[u8; 31] = b"com.microsoft.windows-media-wm\0";
pub const UDMF_META_WINDOWS_MEDIA_WMV: &[u8; 32] = b"com.microsoft.windows-media-wmv\0";
pub const UDMF_META_WINDOWS_MEDIA_WMP: &[u8; 32] = b"com.microsoft.windows-media-wmp\0";
pub const UDMF_META_AUDIO: &[u8; 14] = b"general.audio\0";
pub const UDMF_META_AAC: &[u8; 12] = b"general.aac\0";
pub const UDMF_META_AIFF: &[u8; 13] = b"general.aiff\0";
pub const UDMF_META_ALAC: &[u8; 13] = b"general.alac\0";
pub const UDMF_META_FLAC: &[u8; 13] = b"general.flac\0";
pub const UDMF_META_MP3: &[u8; 12] = b"general.mp3\0";
pub const UDMF_META_OGG: &[u8; 12] = b"general.ogg\0";
pub const UDMF_META_PCM: &[u8; 12] = b"general.pcm\0";
pub const UDMF_META_WINDOWS_MEDIA_WMA: &[u8; 32] = b"com.microsoft.windows-media-wma\0";
pub const UDMF_META_WAVEFORM_AUDIO: &[u8; 29] = b"com.microsoft.waveform-audio\0";
pub const UDMF_META_WINDOWS_MEDIA_WMX: &[u8; 32] = b"com.microsoft.windows-media-wmx\0";
pub const UDMF_META_WINDOWS_MEDIA_WVX: &[u8; 32] = b"com.microsoft.windows-media-wvx\0";
pub const UDMF_META_WINDOWS_MEDIA_WAX: &[u8; 32] = b"com.microsoft.windows-media-wax\0";
pub const UDMF_META_GENERAL_FILE: &[u8; 13] = b"general.file\0";
pub const UDMF_META_DIRECTORY: &[u8; 18] = b"general.directory\0";
pub const UDMF_META_FOLDER: &[u8; 15] = b"general.folder\0";
pub const UDMF_META_SYMLINK: &[u8; 16] = b"general.symlink\0";
pub const UDMF_META_ARCHIVE: &[u8; 16] = b"general.archive\0";
pub const UDMF_META_BZ2_ARCHIVE: &[u8; 20] = b"general.bz2-archive\0";
pub const UDMF_META_DISK_IMAGE: &[u8; 19] = b"general.disk-image\0";
pub const UDMF_META_TAR_ARCHIVE: &[u8; 20] = b"general.tar-archive\0";
pub const UDMF_META_ZIP_ARCHIVE: &[u8; 20] = b"general.zip-archive\0";
pub const UDMF_META_JAVA_ARCHIVE: &[u8; 21] = b"com.sun.java-archive\0";
pub const UDMF_META_GNU_TAR_ARCHIVE: &[u8; 24] = b"org.gnu.gnu-tar-archive\0";
pub const UDMF_META_GNU_ZIP_ARCHIVE: &[u8; 24] = b"org.gnu.gnu-zip-archive\0";
pub const UDMF_META_GNU_ZIP_TAR_ARCHIVE: &[u8; 28] = b"org.gnu.gnu-zip-tar-archive\0";
pub const UDMF_META_CALENDAR: &[u8; 17] = b"general.calendar\0";
pub const UDMF_META_CONTACT: &[u8; 16] = b"general.contact\0";
pub const UDMF_META_DATABASE: &[u8; 17] = b"general.database\0";
pub const UDMF_META_MESSAGE: &[u8; 16] = b"general.message\0";
pub const UDMF_META_VCARD: &[u8; 14] = b"general.vcard\0";
pub const UDMF_META_NAVIGATION: &[u8; 19] = b"general.navigation\0";
pub const UDMF_META_LOCATION: &[u8; 17] = b"general.location\0";
pub const UDMF_META_OPENHARMONY_FORM: &[u8; 17] = b"openharmony.form\0";
pub const UDMF_META_OPENHARMONY_APP_ITEM: &[u8; 21] = b"openharmony.app-item\0";
pub const UDMF_META_OPENHARMONY_PIXEL_MAP: &[u8; 22] = b"openharmony.pixel-map\0";
pub const UDMF_META_OPENHARMONY_ATOMIC_SERVICE: &[u8; 27] = b"openharmony.atomic-service\0";
pub const UDMF_META_OPENHARMONY_PACKAGE: &[u8; 20] = b"openharmony.package\0";
pub const UDMF_META_OPENHARMONY_HAP: &[u8; 16] = b"openharmony.hap\0";
pub const UDMF_META_SMIL: &[u8; 14] = b"com.real.smil\0";
pub const UDMF_META_MARKDOWN: &[u8; 17] = b"general.markdown\0";
pub const UDMF_META_FAX: &[u8; 12] = b"general.fax\0";
pub const UDMF_META_JFX_FAX: &[u8; 15] = b"com.j2.jfx-fax\0";
pub const UDMF_META_EFX_FAX: &[u8; 15] = b"com.js.efx-fax\0";
pub const UDMF_META_XBITMAP_IMAGE: &[u8; 22] = b"general.xbitmap-image\0";
pub const UDMF_META_TGA_IMAGE: &[u8; 25] = b"com.truevision.tga-image\0";
pub const UDMF_META_SGI_IMAGE: &[u8; 18] = b"com.sgi.sgi-image\0";
pub const UDMF_META_OPENEXR_IMAGE: &[u8; 22] = b"com.ilm.openexr-image\0";
pub const UDMF_META_FLASHPIX_IMAGE: &[u8; 25] = b"com.kodak.flashpix.image\0";
pub const UDMF_META_REALMEDIA: &[u8; 19] = b"com.real.realmedia\0";
pub const UDMF_META_AU_AUDIO: &[u8; 17] = b"general.au-audio\0";
pub const UDMF_META_AIFC_AUDIO: &[u8; 19] = b"general.aifc-audio\0";
pub const UDMF_META_SD2_AUDIO: &[u8; 25] = b"com.digidesign.sd2-audio\0";
pub const UDMF_META_REALAUDIO: &[u8; 19] = b"com.real.realaudio\0";
pub const UDMF_META_OPENXML: &[u8; 27] = b"org.openxmlformats.openxml\0";
pub const UDMF_META_WORDPROCESSINGML_DOCUMENT: &[u8; 45] =
    b"org.openxmlformats.wordprocessingml.document\0";
pub const UDMF_META_SPREADSHEETML_SHEET: &[u8; 39] = b"org.openxmlformats.spreadsheetml.sheet\0";
pub const UDMF_META_PRESENTATIONML_PRESENTATION: &[u8; 47] =
    b"org.openxmlformats.presentationml.presentation\0";
pub const UDMF_META_OPENDOCUMENT: &[u8; 23] = b"org.oasis.opendocument\0";
pub const UDMF_META_OPENDOCUMENT_TEXT: &[u8; 28] = b"org.oasis.opendocument.text\0";
pub const UDMF_META_OPENDOCUMENT_SPREADSHEET: &[u8; 35] = b"org.oasis.opendocument.spreadsheet\0";
pub const UDMF_META_OPENDOCUMENT_PRESENTATION: &[u8; 36] = b"org.oasis.opendocument.presentation\0";
pub const UDMF_META_OPENDOCUMENT_GRAPHICS: &[u8; 32] = b"org.oasis.opendocument.graphics\0";
pub const UDMF_META_OPENDOCUMENT_FORMULA: &[u8; 31] = b"org.oasis.opendocument.formula\0";
pub const UDMF_META_STUFFIT_ARCHIVE: &[u8; 27] = b"com.allume.stuffit-archive\0";
pub const UDMF_META_VCS: &[u8; 12] = b"general.vcs\0";
pub const UDMF_META_ICS: &[u8; 12] = b"general.ics\0";
pub const UDMF_META_EXECUTABLE: &[u8; 19] = b"general.executable\0";
pub const UDMF_META_PORTABLE_EXECUTABLE: &[u8; 34] = b"com.microsoft.portable-executable\0";
pub const UDMF_META_SUN_JAVA_CLASS: &[u8; 19] = b"com.sun.java-class\0";
pub const UDMF_META_FONT: &[u8; 13] = b"general.font\0";
pub const UDMF_META_TRUETYPE_FONT: &[u8; 22] = b"general.truetype-font\0";
pub const UDMF_META_TRUETYPE_COLLECTION_FONT: &[u8; 33] = b"general.truetype-collection-font\0";
pub const UDMF_META_OPENTYPE_FONT: &[u8; 22] = b"general.opentype-font\0";
pub const UDMF_META_POSTSCRIPT_FONT: &[u8; 26] = b"com.adobe.postscript-font\0";
pub const UDMF_META_POSTSCRIPT_PFB_FONT: &[u8; 30] = b"com.adobe.postscript-pfb-font\0";
pub const UDMF_META_POSTSCRIPT_PFA_FONT: &[u8; 30] = b"com.adobe.postscript-pfa-font\0";
pub const UDMF_META_OPENHARMONY_HDOC: &[u8; 17] = b"openharmony.hdoc\0";
pub const UDMF_META_OPENHARMONY_HINOTE: &[u8; 19] = b"openharmony.hinote\0";
pub const UDMF_META_OPENHARMONY_STYLED_STRING: &[u8; 26] = b"openharmony.styled-string\0";
pub const UDMF_META_OPENHARMONY_WANT: &[u8; 17] = b"openharmony.want\0";
pub const UDMF_META_GENERAL_FILE_URI: &[u8; 17] = b"general.file-uri\0";
pub const UDMF_METE_GENERAL_CONTENT_FORM: &[u8; 21] = b"general.content-form\0";
pub type intmax_t = ::std::os::raw::c_long;
pub type uintmax_t = ::std::os::raw::c_ulong;
pub type int_fast8_t = i8;
pub type int_fast64_t = i64;
pub type int_least8_t = i8;
pub type int_least16_t = i16;
pub type int_least32_t = i32;
pub type int_least64_t = i64;
pub type uint_fast8_t = u8;
pub type uint_fast64_t = u64;
pub type uint_least8_t = u8;
pub type uint_least16_t = u16;
pub type uint_least32_t = u32;
pub type uint_least64_t = u64;
pub type int_fast16_t = i32;
pub type int_fast32_t = i32;
pub type uint_fast16_t = u32;
pub type uint_fast32_t = u32;
pub type wchar_t = ::std::os::raw::c_uint;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct imaxdiv_t {
    pub quot: intmax_t,
    pub rem: intmax_t,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of imaxdiv_t"][::std::mem::size_of::<imaxdiv_t>() - 16usize];
    ["Alignment of imaxdiv_t"][::std::mem::align_of::<imaxdiv_t>() - 8usize];
    ["Offset of field: imaxdiv_t::quot"][::std::mem::offset_of!(imaxdiv_t, quot) - 0usize];
    ["Offset of field: imaxdiv_t::rem"][::std::mem::offset_of!(imaxdiv_t, rem) - 8usize];
};
extern "C" {
    pub fn imaxabs(arg1: intmax_t) -> intmax_t;
}
extern "C" {
    pub fn imaxdiv(arg1: intmax_t, arg2: intmax_t) -> imaxdiv_t;
}
extern "C" {
    pub fn strtoimax(
        arg1: *const ::std::os::raw::c_char,
        arg2: *mut *mut ::std::os::raw::c_char,
        arg3: ::std::os::raw::c_int,
    ) -> intmax_t;
}
extern "C" {
    pub fn strtoumax(
        arg1: *const ::std::os::raw::c_char,
        arg2: *mut *mut ::std::os::raw::c_char,
        arg3: ::std::os::raw::c_int,
    ) -> uintmax_t;
}
extern "C" {
    pub fn wcstoimax(
        arg1: *const wchar_t,
        arg2: *mut *mut wchar_t,
        arg3: ::std::os::raw::c_int,
    ) -> intmax_t;
}
extern "C" {
    pub fn wcstoumax(
        arg1: *const wchar_t,
        arg2: *mut *mut wchar_t,
        arg3: ::std::os::raw::c_int,
    ) -> uintmax_t;
}
#[repr(C)]
#[repr(align(16))]
#[derive(Debug, Copy, Clone)]
pub struct max_align_t {
    pub __clang_max_align_nonce1: ::std::os::raw::c_longlong,
    pub __bindgen_padding_0: u64,
    pub __clang_max_align_nonce2: u128,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of max_align_t"][::std::mem::size_of::<max_align_t>() - 32usize];
    ["Alignment of max_align_t"][::std::mem::align_of::<max_align_t>() - 16usize];
    ["Offset of field: max_align_t::__clang_max_align_nonce1"]
        [::std::mem::offset_of!(max_align_t, __clang_max_align_nonce1) - 0usize];
    ["Offset of field: max_align_t::__clang_max_align_nonce2"]
        [::std::mem::offset_of!(max_align_t, __clang_max_align_nonce2) - 16usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct Image_Size {
    pub width: u32,
    pub height: u32,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of Image_Size"][::std::mem::size_of::<Image_Size>() - 8usize];
    ["Alignment of Image_Size"][::std::mem::align_of::<Image_Size>() - 4usize];
    ["Offset of field: Image_Size::width"][::std::mem::offset_of!(Image_Size, width) - 0usize];
    ["Offset of field: Image_Size::height"][::std::mem::offset_of!(Image_Size, height) - 4usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct Image_Region {
    pub x: u32,
    pub y: u32,
    pub width: u32,
    pub height: u32,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of Image_Region"][::std::mem::size_of::<Image_Region>() - 16usize];
    ["Alignment of Image_Region"][::std::mem::align_of::<Image_Region>() - 4usize];
    ["Offset of field: Image_Region::x"][::std::mem::offset_of!(Image_Region, x) - 0usize];
    ["Offset of field: Image_Region::y"][::std::mem::offset_of!(Image_Region, y) - 4usize];
    ["Offset of field: Image_Region::width"][::std::mem::offset_of!(Image_Region, width) - 8usize];
    ["Offset of field: Image_Region::height"]
        [::std::mem::offset_of!(Image_Region, height) - 12usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct Image_String {
    pub data: *mut ::std::os::raw::c_char,
    pub size: usize,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of Image_String"][::std::mem::size_of::<Image_String>() - 16usize];
    ["Alignment of Image_String"][::std::mem::align_of::<Image_String>() - 8usize];
    ["Offset of field: Image_String::data"][::std::mem::offset_of!(Image_String, data) - 0usize];
    ["Offset of field: Image_String::size"][::std::mem::offset_of!(Image_String, size) - 8usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct OH_PictureMetadata {
    _unused: [u8; 0],
}
pub type Image_MimeType = Image_String;
pub const Image_ErrorCode_IMAGE_SUCCESS: Image_ErrorCode = 0;
pub const Image_ErrorCode_IMAGE_BAD_PARAMETER: Image_ErrorCode = 401;
pub const Image_ErrorCode_IMAGE_UNSUPPORTED_MIME_TYPE: Image_ErrorCode = 7600101;
pub const Image_ErrorCode_IMAGE_UNKNOWN_MIME_TYPE: Image_ErrorCode = 7600102;
pub const Image_ErrorCode_IMAGE_TOO_LARGE: Image_ErrorCode = 7600103;
pub const Image_ErrorCode_IMAGE_DMA_NOT_EXIST: Image_ErrorCode = 7600173;
pub const Image_ErrorCode_IMAGE_DMA_OPERATION_FAILED: Image_ErrorCode = 7600174;
pub const Image_ErrorCode_IMAGE_UNSUPPORTED_OPERATION: Image_ErrorCode = 7600201;
pub const Image_ErrorCode_IMAGE_UNSUPPORTED_METADATA: Image_ErrorCode = 7600202;
pub const Image_ErrorCode_IMAGE_UNSUPPORTED_CONVERSION: Image_ErrorCode = 7600203;
pub const Image_ErrorCode_IMAGE_INVALID_REGION: Image_ErrorCode = 7600204;
pub const Image_ErrorCode_IMAGE_UNSUPPORTED_MEMORY_FORMAT: Image_ErrorCode = 7600205;
pub const Image_ErrorCode_IMAGE_ALLOC_FAILED: Image_ErrorCode = 7600301;
pub const Image_ErrorCode_IMAGE_COPY_FAILED: Image_ErrorCode = 7600302;
pub const Image_ErrorCode_IMAGE_UNKNOWN_ERROR: Image_ErrorCode = 7600901;
pub const Image_ErrorCode_IMAGE_BAD_SOURCE: Image_ErrorCode = 7700101;
pub const Image_ErrorCode_IMAGE_DECODE_FAILED: Image_ErrorCode = 7700301;
pub const Image_ErrorCode_IMAGE_ENCODE_FAILED: Image_ErrorCode = 7800301;
pub type Image_ErrorCode = ::std::os::raw::c_uint;
pub const Image_MetadataType_EXIF_METADATA: Image_MetadataType = 1;
pub const Image_MetadataType_FRAGMENT_METADATA: Image_MetadataType = 2;
pub type Image_MetadataType = ::std::os::raw::c_uint;
extern "C" {
    pub fn OH_PictureMetadata_Create(
        metadataType: Image_MetadataType,
        metadata: *mut *mut OH_PictureMetadata,
    ) -> Image_ErrorCode;
}
extern "C" {
    pub fn OH_PictureMetadata_GetProperty(
        metadata: *mut OH_PictureMetadata,
        key: *mut Image_String,
        value: *mut Image_String,
    ) -> Image_ErrorCode;
}
extern "C" {
    pub fn OH_PictureMetadata_SetProperty(
        metadata: *mut OH_PictureMetadata,
        key: *mut Image_String,
        value: *mut Image_String,
    ) -> Image_ErrorCode;
}
extern "C" {
    pub fn OH_PictureMetadata_Release(metadata: *mut OH_PictureMetadata) -> Image_ErrorCode;
}
extern "C" {
    pub fn OH_PictureMetadata_Clone(
        oldMetadata: *mut OH_PictureMetadata,
        newMetadata: *mut *mut OH_PictureMetadata,
    ) -> Image_ErrorCode;
}
pub const MIME_TYPE_BMP: &[u8; 10] = b"image/bmp\0";
pub const MIME_TYPE_JPEG: &[u8; 11] = b"image/jpeg\0";
pub const MIME_TYPE_HEIC: &[u8; 11] = b"image/heic\0";
pub const MIME_TYPE_PNG: &[u8; 10] = b"image/png\0";
pub const MIME_TYPE_WEBP: &[u8; 11] = b"image/webp\0";
pub const MIME_TYPE_GIF: &[u8; 10] = b"image/gif\0";
pub const MIME_TYPE_ICON: &[u8; 13] = b"image/x-icon\0";
pub const OHOS_IMAGE_PROPERTY_BITS_PER_SAMPLE: &[u8; 14] = b"BitsPerSample\0";
pub const OHOS_IMAGE_PROPERTY_ORIENTATION: &[u8; 12] = b"Orientation\0";
pub const OHOS_IMAGE_PROPERTY_IMAGE_LENGTH: &[u8; 12] = b"ImageLength\0";
pub const OHOS_IMAGE_PROPERTY_IMAGE_WIDTH: &[u8; 11] = b"ImageWidth\0";
pub const OHOS_IMAGE_PROPERTY_GPS_LATITUDE: &[u8; 12] = b"GPSLatitude\0";
pub const OHOS_IMAGE_PROPERTY_GPS_LONGITUDE: &[u8; 13] = b"GPSLongitude\0";
pub const OHOS_IMAGE_PROPERTY_GPS_LATITUDE_REF: &[u8; 15] = b"GPSLatitudeRef\0";
pub const OHOS_IMAGE_PROPERTY_GPS_LONGITUDE_REF: &[u8; 16] = b"GPSLongitudeRef\0";
pub const OHOS_IMAGE_PROPERTY_DATE_TIME_ORIGINAL: &[u8; 17] = b"DateTimeOriginal\0";
pub const OHOS_IMAGE_PROPERTY_EXPOSURE_TIME: &[u8; 13] = b"ExposureTime\0";
pub const OHOS_IMAGE_PROPERTY_SCENE_TYPE: &[u8; 10] = b"SceneType\0";
pub const OHOS_IMAGE_PROPERTY_ISO_SPEED_RATINGS: &[u8; 16] = b"ISOSpeedRatings\0";
pub const OHOS_IMAGE_PROPERTY_F_NUMBER: &[u8; 8] = b"FNumber\0";
pub const OHOS_IMAGE_PROPERTY_COMPRESSED_BITS_PER_PIXEL: &[u8; 23] = b"CompressedBitsPerPixel\0";
pub const OHOS_IMAGE_PROPERTY_COMPRESSION: &[u8; 12] = b"Compression\0";
pub const OHOS_IMAGE_PROPERTY_PHOTOMETRIC_INTERPRETATION: &[u8; 26] =
    b"PhotometricInterpretation\0";
pub const OHOS_IMAGE_PROPERTY_STRIP_OFFSETS: &[u8; 13] = b"StripOffsets\0";
pub const OHOS_IMAGE_PROPERTY_SAMPLES_PER_PIXEL: &[u8; 16] = b"SamplesPerPixel\0";
pub const OHOS_IMAGE_PROPERTY_ROWS_PER_STRIP: &[u8; 13] = b"RowsPerStrip\0";
pub const OHOS_IMAGE_PROPERTY_STRIP_BYTE_COUNTS: &[u8; 16] = b"StripByteCounts\0";
pub const OHOS_IMAGE_PROPERTY_X_RESOLUTION: &[u8; 12] = b"XResolution\0";
pub const OHOS_IMAGE_PROPERTY_Y_RESOLUTION: &[u8; 12] = b"YResolution\0";
pub const OHOS_IMAGE_PROPERTY_PLANAR_CONFIGURATION: &[u8; 20] = b"PlanarConfiguration\0";
pub const OHOS_IMAGE_PROPERTY_RESOLUTION_UNIT: &[u8; 15] = b"ResolutionUnit\0";
pub const OHOS_IMAGE_PROPERTY_TRANSFER_FUNCTION: &[u8; 17] = b"TransferFunction\0";
pub const OHOS_IMAGE_PROPERTY_SOFTWARE: &[u8; 9] = b"Software\0";
pub const OHOS_IMAGE_PROPERTY_ARTIST: &[u8; 7] = b"Artist\0";
pub const OHOS_IMAGE_PROPERTY_WHITE_POINT: &[u8; 11] = b"WhitePoint\0";
pub const OHOS_IMAGE_PROPERTY_PRIMARY_CHROMATICITIES: &[u8; 22] = b"PrimaryChromaticities\0";
pub const OHOS_IMAGE_PROPERTY_YCBCR_COEFFICIENTS: &[u8; 18] = b"YCbCrCoefficients\0";
pub const OHOS_IMAGE_PROPERTY_YCBCR_SUB_SAMPLING: &[u8; 17] = b"YCbCrSubSampling\0";
pub const OHOS_IMAGE_PROPERTY_YCBCR_POSITIONING: &[u8; 17] = b"YCbCrPositioning\0";
pub const OHOS_IMAGE_PROPERTY_REFERENCE_BLACK_WHITE: &[u8; 20] = b"ReferenceBlackWhite\0";
pub const OHOS_IMAGE_PROPERTY_COPYRIGHT: &[u8; 10] = b"Copyright\0";
pub const OHOS_IMAGE_PROPERTY_JPEG_INTERCHANGE_FORMAT: &[u8; 22] = b"JPEGInterchangeFormat\0";
pub const OHOS_IMAGE_PROPERTY_JPEG_INTERCHANGE_FORMAT_LENGTH: &[u8; 28] =
    b"JPEGInterchangeFormatLength\0";
pub const OHOS_IMAGE_PROPERTY_EXPOSURE_PROGRAM: &[u8; 16] = b"ExposureProgram\0";
pub const OHOS_IMAGE_PROPERTY_SPECTRAL_SENSITIVITY: &[u8; 20] = b"SpectralSensitivity\0";
pub const OHOS_IMAGE_PROPERTY_OECF: &[u8; 5] = b"OECF\0";
pub const OHOS_IMAGE_PROPERTY_EXIF_VERSION: &[u8; 12] = b"ExifVersion\0";
pub const OHOS_IMAGE_PROPERTY_DATE_TIME_DIGITIZED: &[u8; 18] = b"DateTimeDigitized\0";
pub const OHOS_IMAGE_PROPERTY_COMPONENTS_CONFIGURATION: &[u8; 24] = b"ComponentsConfiguration\0";
pub const OHOS_IMAGE_PROPERTY_SHUTTER_SPEED_VALUE: &[u8; 18] = b"ShutterSpeedValue\0";
pub const OHOS_IMAGE_PROPERTY_BRIGHTNESS_VALUE: &[u8; 16] = b"BrightnessValue\0";
pub const OHOS_IMAGE_PROPERTY_MAX_APERTURE_VALUE: &[u8; 17] = b"MaxApertureValue\0";
pub const OHOS_IMAGE_PROPERTY_SUBJECT_DISTANCE: &[u8; 16] = b"SubjectDistance\0";
pub const OHOS_IMAGE_PROPERTY_SUBJECT_AREA: &[u8; 12] = b"SubjectArea\0";
pub const OHOS_IMAGE_PROPERTY_MAKER_NOTE: &[u8; 10] = b"MakerNote\0";
pub const OHOS_IMAGE_PROPERTY_SUBSEC_TIME: &[u8; 11] = b"SubsecTime\0";
pub const OHOS_IMAGE_PROPERTY_SUBSEC_TIME_ORIGINAL: &[u8; 19] = b"SubsecTimeOriginal\0";
pub const OHOS_IMAGE_PROPERTY_SUBSEC_TIME_DIGITIZED: &[u8; 20] = b"SubsecTimeDigitized\0";
pub const OHOS_IMAGE_PROPERTY_FLASHPIX_VERSION: &[u8; 16] = b"FlashpixVersion\0";
pub const OHOS_IMAGE_PROPERTY_COLOR_SPACE: &[u8; 11] = b"ColorSpace\0";
pub const OHOS_IMAGE_PROPERTY_RELATED_SOUND_FILE: &[u8; 17] = b"RelatedSoundFile\0";
pub const OHOS_IMAGE_PROPERTY_FLASH_ENERGY: &[u8; 12] = b"FlashEnergy\0";
pub const OHOS_IMAGE_PROPERTY_SPATIAL_FREQUENCY_RESPONSE: &[u8; 25] = b"SpatialFrequencyResponse\0";
pub const OHOS_IMAGE_PROPERTY_FOCAL_PLANE_X_RESOLUTION: &[u8; 22] = b"FocalPlaneXResolution\0";
pub const OHOS_IMAGE_PROPERTY_FOCAL_PLANE_Y_RESOLUTION: &[u8; 22] = b"FocalPlaneYResolution\0";
pub const OHOS_IMAGE_PROPERTY_FOCAL_PLANE_RESOLUTION_UNIT: &[u8; 25] =
    b"FocalPlaneResolutionUnit\0";
pub const OHOS_IMAGE_PROPERTY_SUBJECT_LOCATION: &[u8; 16] = b"SubjectLocation\0";
pub const OHOS_IMAGE_PROPERTY_EXPOSURE_INDEX: &[u8; 14] = b"ExposureIndex\0";
pub const OHOS_IMAGE_PROPERTY_SENSING_METHOD: &[u8; 14] = b"SensingMethod\0";
pub const OHOS_IMAGE_PROPERTY_FILE_SOURCE: &[u8; 11] = b"FileSource\0";
pub const OHOS_IMAGE_PROPERTY_CFA_PATTERN: &[u8; 11] = b"CFAPattern\0";
pub const OHOS_IMAGE_PROPERTY_CUSTOM_RENDERED: &[u8; 15] = b"CustomRendered\0";
pub const OHOS_IMAGE_PROPERTY_EXPOSURE_MODE: &[u8; 13] = b"ExposureMode\0";
pub const OHOS_IMAGE_PROPERTY_DIGITAL_ZOOM_RATIO: &[u8; 17] = b"DigitalZoomRatio\0";
pub const OHOS_IMAGE_PROPERTY_SCENE_CAPTURE_TYPE: &[u8; 17] = b"SceneCaptureType\0";
pub const OHOS_IMAGE_PROPERTY_GAIN_CONTROL: &[u8; 12] = b"GainControl\0";
pub const OHOS_IMAGE_PROPERTY_CONTRAST: &[u8; 9] = b"Contrast\0";
pub const OHOS_IMAGE_PROPERTY_SATURATION: &[u8; 11] = b"Saturation\0";
pub const OHOS_IMAGE_PROPERTY_SHARPNESS: &[u8; 10] = b"Sharpness\0";
pub const OHOS_IMAGE_PROPERTY_DEVICE_SETTING_DESCRIPTION: &[u8; 25] = b"DeviceSettingDescription\0";
pub const OHOS_IMAGE_PROPERTY_SUBJECT_DISTANCE_RANGE: &[u8; 21] = b"SubjectDistanceRange\0";
pub const OHOS_IMAGE_PROPERTY_IMAGE_UNIQUE_ID: &[u8; 14] = b"ImageUniqueID\0";
pub const OHOS_IMAGE_PROPERTY_GPS_VERSION_ID: &[u8; 13] = b"GPSVersionID\0";
pub const OHOS_IMAGE_PROPERTY_GPS_ALTITUDE_REF: &[u8; 15] = b"GPSAltitudeRef\0";
pub const OHOS_IMAGE_PROPERTY_GPS_ALTITUDE: &[u8; 12] = b"GPSAltitude\0";
pub const OHOS_IMAGE_PROPERTY_GPS_SATELLITES: &[u8; 14] = b"GPSSatellites\0";
pub const OHOS_IMAGE_PROPERTY_GPS_STATUS: &[u8; 10] = b"GPSStatus\0";
pub const OHOS_IMAGE_PROPERTY_GPS_MEASURE_MODE: &[u8; 15] = b"GPSMeasureMode\0";
pub const OHOS_IMAGE_PROPERTY_GPS_DOP: &[u8; 7] = b"GPSDOP\0";
pub const OHOS_IMAGE_PROPERTY_GPS_SPEED_REF: &[u8; 12] = b"GPSSpeedRef\0";
pub const OHOS_IMAGE_PROPERTY_GPS_SPEED: &[u8; 9] = b"GPSSpeed\0";
pub const OHOS_IMAGE_PROPERTY_GPS_TRACK_REF: &[u8; 12] = b"GPSTrackRef\0";
pub const OHOS_IMAGE_PROPERTY_GPS_TRACK: &[u8; 9] = b"GPSTrack\0";
pub const OHOS_IMAGE_PROPERTY_GPS_IMG_DIRECTION_REF: &[u8; 19] = b"GPSImgDirectionRef\0";
pub const OHOS_IMAGE_PROPERTY_GPS_IMG_DIRECTION: &[u8; 16] = b"GPSImgDirection\0";
pub const OHOS_IMAGE_PROPERTY_GPS_MAP_DATUM: &[u8; 12] = b"GPSMapDatum\0";
pub const OHOS_IMAGE_PROPERTY_GPS_DEST_LATITUDE_REF: &[u8; 19] = b"GPSDestLatitudeRef\0";
pub const OHOS_IMAGE_PROPERTY_GPS_DEST_LATITUDE: &[u8; 16] = b"GPSDestLatitude\0";
pub const OHOS_IMAGE_PROPERTY_GPS_DEST_LONGITUDE_REF: &[u8; 20] = b"GPSDestLongitudeRef\0";
pub const OHOS_IMAGE_PROPERTY_GPS_PROCESSING_METHOD: &[u8; 20] = b"GPSProcessingMethod\0";
pub const OHOS_IMAGE_PROPERTY_GPS_AREA_INFORMATION: &[u8; 19] = b"GPSAreaInformation\0";
pub const OHOS_IMAGE_PROPERTY_GPS_DIFFERENTIAL: &[u8; 16] = b"GPSDifferential\0";
pub const OHOS_IMAGE_PROPERTY_BODY_SERIAL_NUMBER: &[u8; 17] = b"BodySerialNumber\0";
pub const OHOS_IMAGE_PROPERTY_CAMERA_OWNER_NAME: &[u8; 16] = b"CameraOwnerName\0";
pub const OHOS_IMAGE_PROPERTY_COMPOSITE_IMAGE: &[u8; 15] = b"CompositeImage\0";
pub const OHOS_IMAGE_PROPERTY_DNG_VERSION: &[u8; 11] = b"DNGVersion\0";
pub const OHOS_IMAGE_PROPERTY_GPS_DEST_LONGITUDE: &[u8; 17] = b"GPSDestLongitude\0";
pub const OHOS_IMAGE_PROPERTY_GPS_DEST_BEARING_REF: &[u8; 18] = b"GPSDestBearingRef\0";
pub const OHOS_IMAGE_PROPERTY_GPS_DEST_BEARING: &[u8; 15] = b"GPSDestBearing\0";
pub const OHOS_IMAGE_PROPERTY_GPS_DEST_DISTANCE_REF: &[u8; 19] = b"GPSDestDistanceRef\0";
pub const OHOS_IMAGE_PROPERTY_GPS_DEST_DISTANCE: &[u8; 16] = b"GPSDestDistance\0";
pub const OHOS_IMAGE_PROPERTY_DEFAULT_CROP_SIZE: &[u8; 16] = b"DefaultCropSize\0";
pub const OHOS_IMAGE_PROPERTY_GAMMA: &[u8; 6] = b"Gamma\0";
pub const OHOS_IMAGE_PROPERTY_ISO_SPEED_LATITUDEYYY: &[u8; 20] = b"ISOSpeedLatitudeyyy\0";
pub const OHOS_IMAGE_PROPERTY_ISO_SPEED_LATITUDEZZZ: &[u8; 20] = b"ISOSpeedLatitudezzz\0";
pub const OHOS_IMAGE_PROPERTY_LENS_MAKE: &[u8; 9] = b"LensMake\0";
pub const OHOS_IMAGE_PROPERTY_LENS_MODEL: &[u8; 10] = b"LensModel\0";
pub const OHOS_IMAGE_PROPERTY_LENS_SERIAL_NUMBER: &[u8; 17] = b"LensSerialNumber\0";
pub const OHOS_IMAGE_PROPERTY_LENS_SPECIFICATION: &[u8; 18] = b"LensSpecification\0";
pub const OHOS_IMAGE_PROPERTY_NEW_SUBFILE_TYPE: &[u8; 15] = b"NewSubfileType\0";
pub const OHOS_IMAGE_PROPERTY_OFFSET_TIME: &[u8; 11] = b"OffsetTime\0";
pub const OHOS_IMAGE_PROPERTY_OFFSET_TIME_DIGITIZED: &[u8; 20] = b"OffsetTimeDigitized\0";
pub const OHOS_IMAGE_PROPERTY_OFFSET_TIME_ORIGINAL: &[u8; 19] = b"OffsetTimeOriginal\0";
pub const OHOS_IMAGE_PROPERTY_SOURCE_EXPOSURE_TIMES_OF_COMPOSITE_IMAGE: &[u8; 36] =
    b"SourceExposureTimesOfCompositeImage\0";
pub const OHOS_IMAGE_PROPERTY_SOURCE_IMAGE_NUMBER_OF_COMPOSITE_IMAGE: &[u8; 34] =
    b"SourceImageNumberOfCompositeImage\0";
pub const OHOS_IMAGE_PROPERTY_SUBFILE_TYPE: &[u8; 12] = b"SubfileType\0";
pub const OHOS_IMAGE_PROPERTY_GPS_H_POSITIONING_ERROR: &[u8; 21] = b"GPSHPositioningError\0";
pub const OHOS_IMAGE_PROPERTY_PHOTOGRAPHIC_SENSITIVITY: &[u8; 24] = b"PhotographicSensitivity\0";
pub const OHOS_IMAGE_PROPERTY_BURST_NUMBER: &[u8; 19] = b"HwMnoteBurstNumber\0";
pub const OHOS_IMAGE_PROPERTY_FACE_CONF: &[u8; 16] = b"HwMnoteFaceConf\0";
pub const OHOS_IMAGE_PROPERTY_FACE_LEYE_CENTER: &[u8; 22] = b"HwMnoteFaceLeyeCenter\0";
pub const OHOS_IMAGE_PROPERTY_FACE_MOUTH_CENTER: &[u8; 23] = b"HwMnoteFaceMouthCenter\0";
pub const OHOS_IMAGE_PROPERTY_FACE_POINTER: &[u8; 19] = b"HwMnoteFacePointer\0";
pub const OHOS_IMAGE_PROPERTY_FACE_RECT: &[u8; 16] = b"HwMnoteFaceRect\0";
pub const OHOS_IMAGE_PROPERTY_FACE_REYE_CENTER: &[u8; 22] = b"HwMnoteFaceReyeCenter\0";
pub const OHOS_IMAGE_PROPERTY_FACE_SMILE_SCORE: &[u8; 22] = b"HwMnoteFaceSmileScore\0";
pub const OHOS_IMAGE_PROPERTY_FACE_VERSION: &[u8; 19] = b"HwMnoteFaceVersion\0";
pub const OHOS_IMAGE_PROPERTY_FRONT_CAMERA: &[u8; 19] = b"HwMnoteFrontCamera\0";
pub const OHOS_IMAGE_PROPERTY_SCENE_POINTER: &[u8; 20] = b"HwMnoteScenePointer\0";
pub const OHOS_IMAGE_PROPERTY_SCENE_VERSION: &[u8; 20] = b"HwMnoteSceneVersion\0";
pub const OHOS_IMAGE_PROPERTY_IS_XMAGE_SUPPORTED: &[u8; 24] = b"HwMnoteIsXmageSupported\0";
pub const OHOS_IMAGE_PROPERTY_XMAGE_MODE: &[u8; 17] = b"HwMnoteXmageMode\0";
pub const OHOS_IMAGE_PROPERTY_XMAGE_LEFT: &[u8; 17] = b"HwMnoteXmageLeft\0";
pub const OHOS_IMAGE_PROPERTY_XMAGE_TOP: &[u8; 16] = b"HwMnoteXmageTop\0";
pub const OHOS_IMAGE_PROPERTY_XMAGE_RIGHT: &[u8; 18] = b"HwMnoteXmageRight\0";
pub const OHOS_IMAGE_PROPERTY_XMAGE_BOTTOM: &[u8; 19] = b"HwMnoteXmageBottom\0";
pub const OHOS_IMAGE_PROPERTY_CLOUD_ENHANCEMENT_MODE: &[u8; 28] = b"HwMnoteCloudEnhancementMode\0";
pub const OHOS_IMAGE_PROPERTY_WIND_SNAPSHOT_MODE: &[u8; 24] = b"HwMnoteWindSnapshotMode\0";
pub const OHOS_IMAGE_PROPERTY_GIF_LOOP_COUNT: &[u8; 13] = b"GIFLoopCount\0";
pub const OHOS_IMAGE_PROPERTY_X_IN_ORIGINAL: &[u8; 12] = b"XInOriginal\0";
pub const OHOS_IMAGE_PROPERTY_Y_IN_ORIGINAL: &[u8; 12] = b"YInOriginal\0";
pub const OHOS_IMAGE_PROPERTY_FRAGMENT_WIDTH: &[u8; 19] = b"FragmentImageWidth\0";
pub const OHOS_IMAGE_PROPERTY_FRAGMENT_HEIGHT: &[u8; 20] = b"FragmentImageHeight\0";
pub const napi_qos_t_napi_qos_background: napi_qos_t = 0;
pub const napi_qos_t_napi_qos_utility: napi_qos_t = 1;
pub const napi_qos_t_napi_qos_default: napi_qos_t = 2;
pub const napi_qos_t_napi_qos_user_initiated: napi_qos_t = 3;
pub type napi_qos_t = ::std::os::raw::c_uint;
pub const napi_event_mode_napi_event_mode_default: napi_event_mode = 0;
pub const napi_event_mode_napi_event_mode_nowait: napi_event_mode = 1;
pub type napi_event_mode = ::std::os::raw::c_uint;
pub const napi_task_priority_napi_priority_immediate: napi_task_priority = 0;
pub const napi_task_priority_napi_priority_high: napi_task_priority = 1;
pub const napi_task_priority_napi_priority_low: napi_task_priority = 2;
pub const napi_task_priority_napi_priority_idle: napi_task_priority = 3;
pub type napi_task_priority = ::std::os::raw::c_uint;
pub type char16_t = u16;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct napi_env__ {
    _unused: [u8; 0],
}
pub type napi_env = *mut napi_env__;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct napi_value__ {
    _unused: [u8; 0],
}
pub type napi_value = *mut napi_value__;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct napi_ref__ {
    _unused: [u8; 0],
}
pub type napi_ref = *mut napi_ref__;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct napi_handle_scope__ {
    _unused: [u8; 0],
}
pub type napi_handle_scope = *mut napi_handle_scope__;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct napi_escapable_handle_scope__ {
    _unused: [u8; 0],
}
pub type napi_escapable_handle_scope = *mut napi_escapable_handle_scope__;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct napi_callback_info__ {
    _unused: [u8; 0],
}
pub type napi_callback_info = *mut napi_callback_info__;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct napi_deferred__ {
    _unused: [u8; 0],
}
pub type napi_deferred = *mut napi_deferred__;
pub const napi_property_attributes_napi_default: napi_property_attributes = 0;
pub const napi_property_attributes_napi_writable: napi_property_attributes = 1;
pub const napi_property_attributes_napi_enumerable: napi_property_attributes = 2;
pub const napi_property_attributes_napi_configurable: napi_property_attributes = 4;
pub const napi_property_attributes_napi_static: napi_property_attributes = 1024;
pub const napi_property_attributes_napi_default_method: napi_property_attributes = 5;
pub const napi_property_attributes_napi_default_jsproperty: napi_property_attributes = 7;
pub type napi_property_attributes = ::std::os::raw::c_uint;
pub const napi_valuetype_napi_undefined: napi_valuetype = 0;
pub const napi_valuetype_napi_null: napi_valuetype = 1;
pub const napi_valuetype_napi_boolean: napi_valuetype = 2;
pub const napi_valuetype_napi_number: napi_valuetype = 3;
pub const napi_valuetype_napi_string: napi_valuetype = 4;
pub const napi_valuetype_napi_symbol: napi_valuetype = 5;
pub const napi_valuetype_napi_object: napi_valuetype = 6;
pub const napi_valuetype_napi_function: napi_valuetype = 7;
pub const napi_valuetype_napi_external: napi_valuetype = 8;
pub const napi_valuetype_napi_bigint: napi_valuetype = 9;
pub type napi_valuetype = ::std::os::raw::c_uint;
pub const napi_typedarray_type_napi_int8_array: napi_typedarray_type = 0;
pub const napi_typedarray_type_napi_uint8_array: napi_typedarray_type = 1;
pub const napi_typedarray_type_napi_uint8_clamped_array: napi_typedarray_type = 2;
pub const napi_typedarray_type_napi_int16_array: napi_typedarray_type = 3;
pub const napi_typedarray_type_napi_uint16_array: napi_typedarray_type = 4;
pub const napi_typedarray_type_napi_int32_array: napi_typedarray_type = 5;
pub const napi_typedarray_type_napi_uint32_array: napi_typedarray_type = 6;
pub const napi_typedarray_type_napi_float32_array: napi_typedarray_type = 7;
pub const napi_typedarray_type_napi_float64_array: napi_typedarray_type = 8;
pub const napi_typedarray_type_napi_bigint64_array: napi_typedarray_type = 9;
pub const napi_typedarray_type_napi_biguint64_array: napi_typedarray_type = 10;
pub type napi_typedarray_type = ::std::os::raw::c_uint;
pub const napi_status_napi_ok: napi_status = 0;
pub const napi_status_napi_invalid_arg: napi_status = 1;
pub const napi_status_napi_object_expected: napi_status = 2;
pub const napi_status_napi_string_expected: napi_status = 3;
pub const napi_status_napi_name_expected: napi_status = 4;
pub const napi_status_napi_function_expected: napi_status = 5;
pub const napi_status_napi_number_expected: napi_status = 6;
pub const napi_status_napi_boolean_expected: napi_status = 7;
pub const napi_status_napi_array_expected: napi_status = 8;
pub const napi_status_napi_generic_failure: napi_status = 9;
pub const napi_status_napi_pending_exception: napi_status = 10;
pub const napi_status_napi_cancelled: napi_status = 11;
pub const napi_status_napi_escape_called_twice: napi_status = 12;
pub const napi_status_napi_handle_scope_mismatch: napi_status = 13;
pub const napi_status_napi_callback_scope_mismatch: napi_status = 14;
pub const napi_status_napi_queue_full: napi_status = 15;
pub const napi_status_napi_closing: napi_status = 16;
pub const napi_status_napi_bigint_expected: napi_status = 17;
pub const napi_status_napi_date_expected: napi_status = 18;
pub const napi_status_napi_arraybuffer_expected: napi_status = 19;
pub const napi_status_napi_detachable_arraybuffer_expected: napi_status = 20;
pub const napi_status_napi_would_deadlock: napi_status = 21;
pub const napi_status_napi_create_ark_runtime_too_many_envs: napi_status = 22;
pub const napi_status_napi_create_ark_runtime_only_one_env_per_thread: napi_status = 23;
pub const napi_status_napi_destroy_ark_runtime_env_not_exist: napi_status = 24;
pub type napi_status = ::std::os::raw::c_uint;
pub type napi_callback = ::std::option::Option<
    unsafe extern "C" fn(env: napi_env, info: napi_callback_info) -> napi_value,
>;
pub type napi_finalize = ::std::option::Option<
    unsafe extern "C" fn(
        env: napi_env,
        finalize_data: *mut ::std::os::raw::c_void,
        finalize_hint: *mut ::std::os::raw::c_void,
    ),
>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct napi_property_descriptor {
    pub utf8name: *const ::std::os::raw::c_char,
    pub name: napi_value,
    pub method: napi_callback,
    pub getter: napi_callback,
    pub setter: napi_callback,
    pub value: napi_value,
    pub attributes: napi_property_attributes,
    pub data: *mut ::std::os::raw::c_void,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of napi_property_descriptor"]
        [::std::mem::size_of::<napi_property_descriptor>() - 64usize];
    ["Alignment of napi_property_descriptor"]
        [::std::mem::align_of::<napi_property_descriptor>() - 8usize];
    ["Offset of field: napi_property_descriptor::utf8name"]
        [::std::mem::offset_of!(napi_property_descriptor, utf8name) - 0usize];
    ["Offset of field: napi_property_descriptor::name"]
        [::std::mem::offset_of!(napi_property_descriptor, name) - 8usize];
    ["Offset of field: napi_property_descriptor::method"]
        [::std::mem::offset_of!(napi_property_descriptor, method) - 16usize];
    ["Offset of field: napi_property_descriptor::getter"]
        [::std::mem::offset_of!(napi_property_descriptor, getter) - 24usize];
    ["Offset of field: napi_property_descriptor::setter"]
        [::std::mem::offset_of!(napi_property_descriptor, setter) - 32usize];
    ["Offset of field: napi_property_descriptor::value"]
        [::std::mem::offset_of!(napi_property_descriptor, value) - 40usize];
    ["Offset of field: napi_property_descriptor::attributes"]
        [::std::mem::offset_of!(napi_property_descriptor, attributes) - 48usize];
    ["Offset of field: napi_property_descriptor::data"]
        [::std::mem::offset_of!(napi_property_descriptor, data) - 56usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct napi_extended_error_info {
    pub error_message: *const ::std::os::raw::c_char,
    pub engine_reserved: *mut ::std::os::raw::c_void,
    pub engine_error_code: u32,
    pub error_code: napi_status,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of napi_extended_error_info"]
        [::std::mem::size_of::<napi_extended_error_info>() - 24usize];
    ["Alignment of napi_extended_error_info"]
        [::std::mem::align_of::<napi_extended_error_info>() - 8usize];
    ["Offset of field: napi_extended_error_info::error_message"]
        [::std::mem::offset_of!(napi_extended_error_info, error_message) - 0usize];
    ["Offset of field: napi_extended_error_info::engine_reserved"]
        [::std::mem::offset_of!(napi_extended_error_info, engine_reserved) - 8usize];
    ["Offset of field: napi_extended_error_info::engine_error_code"]
        [::std::mem::offset_of!(napi_extended_error_info, engine_error_code) - 16usize];
    ["Offset of field: napi_extended_error_info::error_code"]
        [::std::mem::offset_of!(napi_extended_error_info, error_code) - 20usize];
};
pub const napi_key_collection_mode_napi_key_include_prototypes: napi_key_collection_mode = 0;
pub const napi_key_collection_mode_napi_key_own_only: napi_key_collection_mode = 1;
pub type napi_key_collection_mode = ::std::os::raw::c_uint;
pub const napi_key_filter_napi_key_all_properties: napi_key_filter = 0;
pub const napi_key_filter_napi_key_writable: napi_key_filter = 1;
pub const napi_key_filter_napi_key_enumerable: napi_key_filter = 2;
pub const napi_key_filter_napi_key_configurable: napi_key_filter = 4;
pub const napi_key_filter_napi_key_skip_strings: napi_key_filter = 8;
pub const napi_key_filter_napi_key_skip_symbols: napi_key_filter = 16;
pub type napi_key_filter = ::std::os::raw::c_uint;
pub const napi_key_conversion_napi_key_keep_numbers: napi_key_conversion = 0;
pub const napi_key_conversion_napi_key_numbers_to_strings: napi_key_conversion = 1;
pub type napi_key_conversion = ::std::os::raw::c_uint;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct napi_type_tag {
    pub lower: u64,
    pub upper: u64,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of napi_type_tag"][::std::mem::size_of::<napi_type_tag>() - 16usize];
    ["Alignment of napi_type_tag"][::std::mem::align_of::<napi_type_tag>() - 8usize];
    ["Offset of field: napi_type_tag::lower"]
        [::std::mem::offset_of!(napi_type_tag, lower) - 0usize];
    ["Offset of field: napi_type_tag::upper"]
        [::std::mem::offset_of!(napi_type_tag, upper) - 8usize];
};
extern "C" {
    pub fn napi_get_last_error_info(
        env: napi_env,
        result: *mut *const napi_extended_error_info,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_get_undefined(env: napi_env, result: *mut napi_value) -> napi_status;
}
extern "C" {
    pub fn napi_get_null(env: napi_env, result: *mut napi_value) -> napi_status;
}
extern "C" {
    pub fn napi_get_global(env: napi_env, result: *mut napi_value) -> napi_status;
}
extern "C" {
    pub fn napi_get_boolean(env: napi_env, value: bool, result: *mut napi_value) -> napi_status;
}
extern "C" {
    pub fn napi_create_object(env: napi_env, result: *mut napi_value) -> napi_status;
}
extern "C" {
    pub fn napi_create_array(env: napi_env, result: *mut napi_value) -> napi_status;
}
extern "C" {
    pub fn napi_create_array_with_length(
        env: napi_env,
        length: usize,
        result: *mut napi_value,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_create_double(env: napi_env, value: f64, result: *mut napi_value) -> napi_status;
}
extern "C" {
    pub fn napi_create_int32(env: napi_env, value: i32, result: *mut napi_value) -> napi_status;
}
extern "C" {
    pub fn napi_create_uint32(env: napi_env, value: u32, result: *mut napi_value) -> napi_status;
}
extern "C" {
    pub fn napi_create_int64(env: napi_env, value: i64, result: *mut napi_value) -> napi_status;
}
extern "C" {
    pub fn napi_create_string_latin1(
        env: napi_env,
        str_: *const ::std::os::raw::c_char,
        length: usize,
        result: *mut napi_value,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_create_string_utf8(
        env: napi_env,
        str_: *const ::std::os::raw::c_char,
        length: usize,
        result: *mut napi_value,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_create_string_utf16(
        env: napi_env,
        str_: *const char16_t,
        length: usize,
        result: *mut napi_value,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_create_symbol(
        env: napi_env,
        description: napi_value,
        result: *mut napi_value,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_create_function(
        env: napi_env,
        utf8name: *const ::std::os::raw::c_char,
        length: usize,
        cb: napi_callback,
        data: *mut ::std::os::raw::c_void,
        result: *mut napi_value,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_create_error(
        env: napi_env,
        code: napi_value,
        msg: napi_value,
        result: *mut napi_value,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_create_type_error(
        env: napi_env,
        code: napi_value,
        msg: napi_value,
        result: *mut napi_value,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_create_range_error(
        env: napi_env,
        code: napi_value,
        msg: napi_value,
        result: *mut napi_value,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_typeof(
        env: napi_env,
        value: napi_value,
        result: *mut napi_valuetype,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_get_value_double(env: napi_env, value: napi_value, result: *mut f64)
        -> napi_status;
}
extern "C" {
    pub fn napi_get_value_int32(env: napi_env, value: napi_value, result: *mut i32) -> napi_status;
}
extern "C" {
    pub fn napi_get_value_uint32(env: napi_env, value: napi_value, result: *mut u32)
        -> napi_status;
}
extern "C" {
    pub fn napi_get_value_int64(env: napi_env, value: napi_value, result: *mut i64) -> napi_status;
}
extern "C" {
    pub fn napi_get_value_bool(env: napi_env, value: napi_value, result: *mut bool) -> napi_status;
}
extern "C" {
    pub fn napi_get_value_string_latin1(
        env: napi_env,
        value: napi_value,
        buf: *mut ::std::os::raw::c_char,
        bufsize: usize,
        result: *mut usize,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_get_value_string_utf8(
        env: napi_env,
        value: napi_value,
        buf: *mut ::std::os::raw::c_char,
        bufsize: usize,
        result: *mut usize,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_get_value_string_utf16(
        env: napi_env,
        value: napi_value,
        buf: *mut char16_t,
        bufsize: usize,
        result: *mut usize,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_coerce_to_bool(
        env: napi_env,
        value: napi_value,
        result: *mut napi_value,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_coerce_to_number(
        env: napi_env,
        value: napi_value,
        result: *mut napi_value,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_coerce_to_object(
        env: napi_env,
        value: napi_value,
        result: *mut napi_value,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_coerce_to_string(
        env: napi_env,
        value: napi_value,
        result: *mut napi_value,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_get_prototype(
        env: napi_env,
        object: napi_value,
        result: *mut napi_value,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_get_property_names(
        env: napi_env,
        object: napi_value,
        result: *mut napi_value,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_set_property(
        env: napi_env,
        object: napi_value,
        key: napi_value,
        value: napi_value,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_has_property(
        env: napi_env,
        object: napi_value,
        key: napi_value,
        result: *mut bool,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_get_property(
        env: napi_env,
        object: napi_value,
        key: napi_value,
        result: *mut napi_value,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_delete_property(
        env: napi_env,
        object: napi_value,
        key: napi_value,
        result: *mut bool,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_has_own_property(
        env: napi_env,
        object: napi_value,
        key: napi_value,
        result: *mut bool,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_set_named_property(
        env: napi_env,
        object: napi_value,
        utf8name: *const ::std::os::raw::c_char,
        value: napi_value,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_has_named_property(
        env: napi_env,
        object: napi_value,
        utf8name: *const ::std::os::raw::c_char,
        result: *mut bool,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_get_named_property(
        env: napi_env,
        object: napi_value,
        utf8name: *const ::std::os::raw::c_char,
        result: *mut napi_value,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_set_element(
        env: napi_env,
        object: napi_value,
        index: u32,
        value: napi_value,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_has_element(
        env: napi_env,
        object: napi_value,
        index: u32,
        result: *mut bool,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_get_element(
        env: napi_env,
        object: napi_value,
        index: u32,
        result: *mut napi_value,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_delete_element(
        env: napi_env,
        object: napi_value,
        index: u32,
        result: *mut bool,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_define_properties(
        env: napi_env,
        object: napi_value,
        property_count: usize,
        properties: *const napi_property_descriptor,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_is_array(env: napi_env, value: napi_value, result: *mut bool) -> napi_status;
}
extern "C" {
    pub fn napi_get_array_length(env: napi_env, value: napi_value, result: *mut u32)
        -> napi_status;
}
extern "C" {
    pub fn napi_strict_equals(
        env: napi_env,
        lhs: napi_value,
        rhs: napi_value,
        result: *mut bool,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_call_function(
        env: napi_env,
        recv: napi_value,
        func: napi_value,
        argc: usize,
        argv: *const napi_value,
        result: *mut napi_value,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_new_instance(
        env: napi_env,
        constructor: napi_value,
        argc: usize,
        argv: *const napi_value,
        result: *mut napi_value,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_instanceof(
        env: napi_env,
        object: napi_value,
        constructor: napi_value,
        result: *mut bool,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_get_cb_info(
        env: napi_env,
        cbinfo: napi_callback_info,
        argc: *mut usize,
        argv: *mut napi_value,
        this_arg: *mut napi_value,
        data: *mut *mut ::std::os::raw::c_void,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_get_new_target(
        env: napi_env,
        cbinfo: napi_callback_info,
        result: *mut napi_value,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_define_class(
        env: napi_env,
        utf8name: *const ::std::os::raw::c_char,
        length: usize,
        constructor: napi_callback,
        data: *mut ::std::os::raw::c_void,
        property_count: usize,
        properties: *const napi_property_descriptor,
        result: *mut napi_value,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_wrap(
        env: napi_env,
        js_object: napi_value,
        native_object: *mut ::std::os::raw::c_void,
        finalize_cb: napi_finalize,
        finalize_hint: *mut ::std::os::raw::c_void,
        result: *mut napi_ref,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_unwrap(
        env: napi_env,
        js_object: napi_value,
        result: *mut *mut ::std::os::raw::c_void,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_remove_wrap(
        env: napi_env,
        js_object: napi_value,
        result: *mut *mut ::std::os::raw::c_void,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_create_external(
        env: napi_env,
        data: *mut ::std::os::raw::c_void,
        finalize_cb: napi_finalize,
        finalize_hint: *mut ::std::os::raw::c_void,
        result: *mut napi_value,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_get_value_external(
        env: napi_env,
        value: napi_value,
        result: *mut *mut ::std::os::raw::c_void,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_create_reference(
        env: napi_env,
        value: napi_value,
        initial_refcount: u32,
        result: *mut napi_ref,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_delete_reference(env: napi_env, ref_: napi_ref) -> napi_status;
}
extern "C" {
    pub fn napi_reference_ref(env: napi_env, ref_: napi_ref, result: *mut u32) -> napi_status;
}
extern "C" {
    pub fn napi_reference_unref(env: napi_env, ref_: napi_ref, result: *mut u32) -> napi_status;
}
extern "C" {
    pub fn napi_get_reference_value(
        env: napi_env,
        ref_: napi_ref,
        result: *mut napi_value,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_open_handle_scope(env: napi_env, result: *mut napi_handle_scope) -> napi_status;
}
extern "C" {
    pub fn napi_close_handle_scope(env: napi_env, scope: napi_handle_scope) -> napi_status;
}
extern "C" {
    pub fn napi_open_escapable_handle_scope(
        env: napi_env,
        result: *mut napi_escapable_handle_scope,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_close_escapable_handle_scope(
        env: napi_env,
        scope: napi_escapable_handle_scope,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_escape_handle(
        env: napi_env,
        scope: napi_escapable_handle_scope,
        escapee: napi_value,
        result: *mut napi_value,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_throw(env: napi_env, error: napi_value) -> napi_status;
}
extern "C" {
    pub fn napi_throw_error(
        env: napi_env,
        code: *const ::std::os::raw::c_char,
        msg: *const ::std::os::raw::c_char,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_throw_type_error(
        env: napi_env,
        code: *const ::std::os::raw::c_char,
        msg: *const ::std::os::raw::c_char,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_throw_range_error(
        env: napi_env,
        code: *const ::std::os::raw::c_char,
        msg: *const ::std::os::raw::c_char,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_is_error(env: napi_env, value: napi_value, result: *mut bool) -> napi_status;
}
extern "C" {
    pub fn napi_is_exception_pending(env: napi_env, result: *mut bool) -> napi_status;
}
extern "C" {
    pub fn napi_get_and_clear_last_exception(env: napi_env, result: *mut napi_value)
        -> napi_status;
}
extern "C" {
    pub fn napi_is_arraybuffer(env: napi_env, value: napi_value, result: *mut bool) -> napi_status;
}
extern "C" {
    pub fn napi_create_arraybuffer(
        env: napi_env,
        byte_length: usize,
        data: *mut *mut ::std::os::raw::c_void,
        result: *mut napi_value,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_create_external_arraybuffer(
        env: napi_env,
        external_data: *mut ::std::os::raw::c_void,
        byte_length: usize,
        finalize_cb: napi_finalize,
        finalize_hint: *mut ::std::os::raw::c_void,
        result: *mut napi_value,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_get_arraybuffer_info(
        env: napi_env,
        arraybuffer: napi_value,
        data: *mut *mut ::std::os::raw::c_void,
        byte_length: *mut usize,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_is_typedarray(env: napi_env, value: napi_value, result: *mut bool) -> napi_status;
}
extern "C" {
    pub fn napi_create_typedarray(
        env: napi_env,
        type_: napi_typedarray_type,
        length: usize,
        arraybuffer: napi_value,
        byte_offset: usize,
        result: *mut napi_value,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_get_typedarray_info(
        env: napi_env,
        typedarray: napi_value,
        type_: *mut napi_typedarray_type,
        length: *mut usize,
        data: *mut *mut ::std::os::raw::c_void,
        arraybuffer: *mut napi_value,
        byte_offset: *mut usize,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_create_dataview(
        env: napi_env,
        length: usize,
        arraybuffer: napi_value,
        byte_offset: usize,
        result: *mut napi_value,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_is_dataview(env: napi_env, value: napi_value, result: *mut bool) -> napi_status;
}
extern "C" {
    pub fn napi_get_dataview_info(
        env: napi_env,
        dataview: napi_value,
        bytelength: *mut usize,
        data: *mut *mut ::std::os::raw::c_void,
        arraybuffer: *mut napi_value,
        byte_offset: *mut usize,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_get_version(env: napi_env, result: *mut u32) -> napi_status;
}
extern "C" {
    pub fn napi_create_promise(
        env: napi_env,
        deferred: *mut napi_deferred,
        promise: *mut napi_value,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_resolve_deferred(
        env: napi_env,
        deferred: napi_deferred,
        resolution: napi_value,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_reject_deferred(
        env: napi_env,
        deferred: napi_deferred,
        rejection: napi_value,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_is_promise(env: napi_env, value: napi_value, is_promise: *mut bool) -> napi_status;
}
extern "C" {
    pub fn napi_run_script(
        env: napi_env,
        script: napi_value,
        result: *mut napi_value,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_adjust_external_memory(
        env: napi_env,
        change_in_bytes: i64,
        adjusted_value: *mut i64,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_create_date(env: napi_env, time: f64, result: *mut napi_value) -> napi_status;
}
extern "C" {
    pub fn napi_is_date(env: napi_env, value: napi_value, is_date: *mut bool) -> napi_status;
}
extern "C" {
    pub fn napi_get_date_value(env: napi_env, value: napi_value, result: *mut f64) -> napi_status;
}
extern "C" {
    pub fn napi_add_finalizer(
        env: napi_env,
        js_object: napi_value,
        native_object: *mut ::std::os::raw::c_void,
        finalize_cb: napi_finalize,
        finalize_hint: *mut ::std::os::raw::c_void,
        result: *mut napi_ref,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_create_bigint_int64(
        env: napi_env,
        value: i64,
        result: *mut napi_value,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_create_bigint_uint64(
        env: napi_env,
        value: u64,
        result: *mut napi_value,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_create_bigint_words(
        env: napi_env,
        sign_bit: ::std::os::raw::c_int,
        word_count: usize,
        words: *const u64,
        result: *mut napi_value,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_get_value_bigint_int64(
        env: napi_env,
        value: napi_value,
        result: *mut i64,
        lossless: *mut bool,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_get_value_bigint_uint64(
        env: napi_env,
        value: napi_value,
        result: *mut u64,
        lossless: *mut bool,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_get_value_bigint_words(
        env: napi_env,
        value: napi_value,
        sign_bit: *mut ::std::os::raw::c_int,
        word_count: *mut usize,
        words: *mut u64,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_get_all_property_names(
        env: napi_env,
        object: napi_value,
        key_mode: napi_key_collection_mode,
        key_filter: napi_key_filter,
        key_conversion: napi_key_conversion,
        result: *mut napi_value,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_set_instance_data(
        env: napi_env,
        data: *mut ::std::os::raw::c_void,
        finalize_cb: napi_finalize,
        finalize_hint: *mut ::std::os::raw::c_void,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_get_instance_data(
        env: napi_env,
        data: *mut *mut ::std::os::raw::c_void,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_detach_arraybuffer(env: napi_env, arraybuffer: napi_value) -> napi_status;
}
extern "C" {
    pub fn napi_is_detached_arraybuffer(
        env: napi_env,
        value: napi_value,
        result: *mut bool,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_type_tag_object(
        env: napi_env,
        value: napi_value,
        type_tag: *const napi_type_tag,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_check_object_type_tag(
        env: napi_env,
        value: napi_value,
        type_tag: *const napi_type_tag,
        result: *mut bool,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_object_freeze(env: napi_env, object: napi_value) -> napi_status;
}
extern "C" {
    pub fn napi_object_seal(env: napi_env, object: napi_value) -> napi_status;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct napi_callback_scope__ {
    _unused: [u8; 0],
}
pub type napi_callback_scope = *mut napi_callback_scope__;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct napi_async_context__ {
    _unused: [u8; 0],
}
pub type napi_async_context = *mut napi_async_context__;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct napi_async_work__ {
    _unused: [u8; 0],
}
pub type napi_async_work = *mut napi_async_work__;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct napi_threadsafe_function__ {
    _unused: [u8; 0],
}
pub type napi_threadsafe_function = *mut napi_threadsafe_function__;
pub const napi_threadsafe_function_release_mode_napi_tsfn_release:
    napi_threadsafe_function_release_mode = 0;
pub const napi_threadsafe_function_release_mode_napi_tsfn_abort:
    napi_threadsafe_function_release_mode = 1;
pub type napi_threadsafe_function_release_mode = ::std::os::raw::c_uint;
pub const napi_threadsafe_function_call_mode_napi_tsfn_nonblocking:
    napi_threadsafe_function_call_mode = 0;
pub const napi_threadsafe_function_call_mode_napi_tsfn_blocking:
    napi_threadsafe_function_call_mode = 1;
pub type napi_threadsafe_function_call_mode = ::std::os::raw::c_uint;
pub type napi_async_execute_callback =
    ::std::option::Option<unsafe extern "C" fn(env: napi_env, data: *mut ::std::os::raw::c_void)>;
pub type napi_async_complete_callback = ::std::option::Option<
    unsafe extern "C" fn(env: napi_env, status: napi_status, data: *mut ::std::os::raw::c_void),
>;
pub type napi_threadsafe_function_call_js = ::std::option::Option<
    unsafe extern "C" fn(
        env: napi_env,
        js_callback: napi_value,
        context: *mut ::std::os::raw::c_void,
        data: *mut ::std::os::raw::c_void,
    ),
>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct napi_node_version {
    pub major: u32,
    pub minor: u32,
    pub patch: u32,
    pub release: *const ::std::os::raw::c_char,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of napi_node_version"][::std::mem::size_of::<napi_node_version>() - 24usize];
    ["Alignment of napi_node_version"][::std::mem::align_of::<napi_node_version>() - 8usize];
    ["Offset of field: napi_node_version::major"]
        [::std::mem::offset_of!(napi_node_version, major) - 0usize];
    ["Offset of field: napi_node_version::minor"]
        [::std::mem::offset_of!(napi_node_version, minor) - 4usize];
    ["Offset of field: napi_node_version::patch"]
        [::std::mem::offset_of!(napi_node_version, patch) - 8usize];
    ["Offset of field: napi_node_version::release"]
        [::std::mem::offset_of!(napi_node_version, release) - 16usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct napi_async_cleanup_hook_handle__ {
    _unused: [u8; 0],
}
pub type napi_async_cleanup_hook_handle = *mut napi_async_cleanup_hook_handle__;
pub type napi_async_cleanup_hook = ::std::option::Option<
    unsafe extern "C" fn(handle: napi_async_cleanup_hook_handle, data: *mut ::std::os::raw::c_void),
>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct uv_loop_s {
    _unused: [u8; 0],
}
pub type napi_addon_register_func =
    ::std::option::Option<unsafe extern "C" fn(env: napi_env, exports: napi_value) -> napi_value>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct napi_module {
    pub nm_version: ::std::os::raw::c_int,
    pub nm_flags: ::std::os::raw::c_uint,
    pub nm_filename: *const ::std::os::raw::c_char,
    pub nm_register_func: napi_addon_register_func,
    pub nm_modname: *const ::std::os::raw::c_char,
    pub nm_priv: *mut ::std::os::raw::c_void,
    pub reserved: [*mut ::std::os::raw::c_void; 4usize],
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of napi_module"][::std::mem::size_of::<napi_module>() - 72usize];
    ["Alignment of napi_module"][::std::mem::align_of::<napi_module>() - 8usize];
    ["Offset of field: napi_module::nm_version"]
        [::std::mem::offset_of!(napi_module, nm_version) - 0usize];
    ["Offset of field: napi_module::nm_flags"]
        [::std::mem::offset_of!(napi_module, nm_flags) - 4usize];
    ["Offset of field: napi_module::nm_filename"]
        [::std::mem::offset_of!(napi_module, nm_filename) - 8usize];
    ["Offset of field: napi_module::nm_register_func"]
        [::std::mem::offset_of!(napi_module, nm_register_func) - 16usize];
    ["Offset of field: napi_module::nm_modname"]
        [::std::mem::offset_of!(napi_module, nm_modname) - 24usize];
    ["Offset of field: napi_module::nm_priv"]
        [::std::mem::offset_of!(napi_module, nm_priv) - 32usize];
    ["Offset of field: napi_module::reserved"]
        [::std::mem::offset_of!(napi_module, reserved) - 40usize];
};
extern "C" {
    pub fn napi_module_register(mod_: *mut napi_module);
}
extern "C" {
    pub fn napi_fatal_error(
        location: *const ::std::os::raw::c_char,
        location_len: usize,
        message: *const ::std::os::raw::c_char,
        message_len: usize,
    ) -> !;
}
extern "C" {
    pub fn napi_async_init(
        env: napi_env,
        async_resource: napi_value,
        async_resource_name: napi_value,
        result: *mut napi_async_context,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_async_destroy(env: napi_env, async_context: napi_async_context) -> napi_status;
}
extern "C" {
    pub fn napi_make_callback(
        env: napi_env,
        async_context: napi_async_context,
        recv: napi_value,
        func: napi_value,
        argc: usize,
        argv: *const napi_value,
        result: *mut napi_value,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_create_buffer(
        env: napi_env,
        length: usize,
        data: *mut *mut ::std::os::raw::c_void,
        result: *mut napi_value,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_create_external_buffer(
        env: napi_env,
        length: usize,
        data: *mut ::std::os::raw::c_void,
        finalize_cb: napi_finalize,
        finalize_hint: *mut ::std::os::raw::c_void,
        result: *mut napi_value,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_create_buffer_copy(
        env: napi_env,
        length: usize,
        data: *const ::std::os::raw::c_void,
        result_data: *mut *mut ::std::os::raw::c_void,
        result: *mut napi_value,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_is_buffer(env: napi_env, value: napi_value, result: *mut bool) -> napi_status;
}
extern "C" {
    pub fn napi_get_buffer_info(
        env: napi_env,
        value: napi_value,
        data: *mut *mut ::std::os::raw::c_void,
        length: *mut usize,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_create_async_work(
        env: napi_env,
        async_resource: napi_value,
        async_resource_name: napi_value,
        execute: napi_async_execute_callback,
        complete: napi_async_complete_callback,
        data: *mut ::std::os::raw::c_void,
        result: *mut napi_async_work,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_delete_async_work(env: napi_env, work: napi_async_work) -> napi_status;
}
extern "C" {
    pub fn napi_queue_async_work(env: napi_env, work: napi_async_work) -> napi_status;
}
extern "C" {
    pub fn napi_cancel_async_work(env: napi_env, work: napi_async_work) -> napi_status;
}
extern "C" {
    pub fn napi_get_node_version(
        env: napi_env,
        version: *mut *const napi_node_version,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_get_uv_event_loop(env: napi_env, loop_: *mut *mut uv_loop_s) -> napi_status;
}
extern "C" {
    pub fn napi_fatal_exception(env: napi_env, err: napi_value) -> napi_status;
}
extern "C" {
    pub fn napi_add_env_cleanup_hook(
        env: napi_env,
        fun: ::std::option::Option<unsafe extern "C" fn(arg: *mut ::std::os::raw::c_void)>,
        arg: *mut ::std::os::raw::c_void,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_remove_env_cleanup_hook(
        env: napi_env,
        fun: ::std::option::Option<unsafe extern "C" fn(arg: *mut ::std::os::raw::c_void)>,
        arg: *mut ::std::os::raw::c_void,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_open_callback_scope(
        env: napi_env,
        resource_object: napi_value,
        context: napi_async_context,
        result: *mut napi_callback_scope,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_close_callback_scope(env: napi_env, scope: napi_callback_scope) -> napi_status;
}
extern "C" {
    pub fn napi_create_threadsafe_function(
        env: napi_env,
        func: napi_value,
        async_resource: napi_value,
        async_resource_name: napi_value,
        max_queue_size: usize,
        initial_thread_count: usize,
        thread_finalize_data: *mut ::std::os::raw::c_void,
        thread_finalize_cb: napi_finalize,
        context: *mut ::std::os::raw::c_void,
        call_js_cb: napi_threadsafe_function_call_js,
        result: *mut napi_threadsafe_function,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_get_threadsafe_function_context(
        func: napi_threadsafe_function,
        result: *mut *mut ::std::os::raw::c_void,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_call_threadsafe_function(
        func: napi_threadsafe_function,
        data: *mut ::std::os::raw::c_void,
        is_blocking: napi_threadsafe_function_call_mode,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_acquire_threadsafe_function(func: napi_threadsafe_function) -> napi_status;
}
extern "C" {
    pub fn napi_release_threadsafe_function(
        func: napi_threadsafe_function,
        mode: napi_threadsafe_function_release_mode,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_unref_threadsafe_function(
        env: napi_env,
        func: napi_threadsafe_function,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_ref_threadsafe_function(
        env: napi_env,
        func: napi_threadsafe_function,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_add_async_cleanup_hook(
        env: napi_env,
        hook: napi_async_cleanup_hook,
        arg: *mut ::std::os::raw::c_void,
        remove_handle: *mut napi_async_cleanup_hook_handle,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_remove_async_cleanup_hook(
        remove_handle: napi_async_cleanup_hook_handle,
    ) -> napi_status;
}
extern "C" {
    pub fn node_api_get_module_file_name(
        env: napi_env,
        result: *mut *const ::std::os::raw::c_char,
    ) -> napi_status;
}
pub type napi_native_binding_detach_callback = ::std::option::Option<
    unsafe extern "C" fn(
        env: napi_env,
        native_object: *mut ::std::os::raw::c_void,
        hint: *mut ::std::os::raw::c_void,
    ) -> *mut ::std::os::raw::c_void,
>;
pub type napi_native_binding_attach_callback = ::std::option::Option<
    unsafe extern "C" fn(
        env: napi_env,
        native_object: *mut ::std::os::raw::c_void,
        hint: *mut ::std::os::raw::c_void,
    ) -> napi_value,
>;
extern "C" {
    pub fn napi_run_script_path(
        env: napi_env,
        path: *const ::std::os::raw::c_char,
        result: *mut napi_value,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_queue_async_work_with_qos(
        env: napi_env,
        work: napi_async_work,
        qos: napi_qos_t,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_load_module(
        env: napi_env,
        path: *const ::std::os::raw::c_char,
        result: *mut napi_value,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_load_module_with_info(
        env: napi_env,
        path: *const ::std::os::raw::c_char,
        module_info: *const ::std::os::raw::c_char,
        result: *mut napi_value,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_create_object_with_properties(
        env: napi_env,
        result: *mut napi_value,
        property_count: usize,
        properties: *const napi_property_descriptor,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_create_object_with_named_properties(
        env: napi_env,
        result: *mut napi_value,
        property_count: usize,
        keys: *mut *const ::std::os::raw::c_char,
        values: *const napi_value,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_coerce_to_native_binding_object(
        env: napi_env,
        js_object: napi_value,
        detach_cb: napi_native_binding_detach_callback,
        attach_cb: napi_native_binding_attach_callback,
        native_object: *mut ::std::os::raw::c_void,
        hint: *mut ::std::os::raw::c_void,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_create_ark_runtime(env: *mut napi_env) -> napi_status;
}
extern "C" {
    pub fn napi_destroy_ark_runtime(env: *mut napi_env) -> napi_status;
}
extern "C" {
    pub fn napi_define_sendable_class(
        env: napi_env,
        utf8name: *const ::std::os::raw::c_char,
        length: usize,
        constructor: napi_callback,
        data: *mut ::std::os::raw::c_void,
        property_count: usize,
        properties: *const napi_property_descriptor,
        parent: napi_value,
        result: *mut napi_value,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_is_sendable(env: napi_env, value: napi_value, result: *mut bool) -> napi_status;
}
extern "C" {
    pub fn napi_create_sendable_object_with_properties(
        env: napi_env,
        property_count: usize,
        properties: *const napi_property_descriptor,
        result: *mut napi_value,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_wrap_sendable(
        env: napi_env,
        js_object: napi_value,
        native_object: *mut ::std::os::raw::c_void,
        finalize_cb: napi_finalize,
        finalize_hint: *mut ::std::os::raw::c_void,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_wrap_sendable_with_size(
        env: napi_env,
        js_object: napi_value,
        native_object: *mut ::std::os::raw::c_void,
        finalize_cb: napi_finalize,
        finalize_hint: *mut ::std::os::raw::c_void,
        native_binding_size: usize,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_unwrap_sendable(
        env: napi_env,
        js_object: napi_value,
        result: *mut *mut ::std::os::raw::c_void,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_remove_wrap_sendable(
        env: napi_env,
        js_object: napi_value,
        result: *mut *mut ::std::os::raw::c_void,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_create_sendable_array(env: napi_env, result: *mut napi_value) -> napi_status;
}
extern "C" {
    pub fn napi_create_sendable_array_with_length(
        env: napi_env,
        length: usize,
        result: *mut napi_value,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_create_sendable_arraybuffer(
        env: napi_env,
        byte_length: usize,
        data: *mut *mut ::std::os::raw::c_void,
        result: *mut napi_value,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_create_sendable_typedarray(
        env: napi_env,
        type_: napi_typedarray_type,
        length: usize,
        arraybuffer: napi_value,
        byte_offset: usize,
        result: *mut napi_value,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_run_event_loop(env: napi_env, mode: napi_event_mode) -> napi_status;
}
extern "C" {
    pub fn napi_stop_event_loop(env: napi_env) -> napi_status;
}
extern "C" {
    pub fn napi_serialize(
        env: napi_env,
        object: napi_value,
        transfer_list: napi_value,
        clone_list: napi_value,
        result: *mut *mut ::std::os::raw::c_void,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_deserialize(
        env: napi_env,
        buffer: *mut ::std::os::raw::c_void,
        object: *mut napi_value,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_delete_serialization_data(
        env: napi_env,
        buffer: *mut ::std::os::raw::c_void,
    ) -> napi_status;
}
extern "C" {
    pub fn napi_call_threadsafe_function_with_priority(
        func: napi_threadsafe_function,
        data: *mut ::std::os::raw::c_void,
        priority: napi_task_priority,
        isTail: bool,
    ) -> napi_status;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct OH_PixelmapNative {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct OH_NativeBuffer {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct OH_NativeColorSpaceManager {
    _unused: [u8; 0],
}
pub const PIXELMAP_ALPHA_TYPE_PIXELMAP_ALPHA_TYPE_UNKNOWN: PIXELMAP_ALPHA_TYPE = 0;
pub const PIXELMAP_ALPHA_TYPE_PIXELMAP_ALPHA_TYPE_OPAQUE: PIXELMAP_ALPHA_TYPE = 1;
pub const PIXELMAP_ALPHA_TYPE_PIXELMAP_ALPHA_TYPE_PREMULTIPLIED: PIXELMAP_ALPHA_TYPE = 2;
pub const PIXELMAP_ALPHA_TYPE_PIXELMAP_ALPHA_TYPE_UNPREMULTIPLIED: PIXELMAP_ALPHA_TYPE = 3;
pub type PIXELMAP_ALPHA_TYPE = ::std::os::raw::c_uint;
pub const PIXEL_FORMAT_PIXEL_FORMAT_UNKNOWN: PIXEL_FORMAT = 0;
pub const PIXEL_FORMAT_PIXEL_FORMAT_RGB_565: PIXEL_FORMAT = 2;
pub const PIXEL_FORMAT_PIXEL_FORMAT_RGBA_8888: PIXEL_FORMAT = 3;
pub const PIXEL_FORMAT_PIXEL_FORMAT_BGRA_8888: PIXEL_FORMAT = 4;
pub const PIXEL_FORMAT_PIXEL_FORMAT_RGB_888: PIXEL_FORMAT = 5;
pub const PIXEL_FORMAT_PIXEL_FORMAT_ALPHA_8: PIXEL_FORMAT = 6;
pub const PIXEL_FORMAT_PIXEL_FORMAT_RGBA_F16: PIXEL_FORMAT = 7;
pub const PIXEL_FORMAT_PIXEL_FORMAT_NV21: PIXEL_FORMAT = 8;
pub const PIXEL_FORMAT_PIXEL_FORMAT_NV12: PIXEL_FORMAT = 9;
pub const PIXEL_FORMAT_PIXEL_FORMAT_RGBA_1010102: PIXEL_FORMAT = 10;
pub const PIXEL_FORMAT_PIXEL_FORMAT_YCBCR_P010: PIXEL_FORMAT = 11;
pub const PIXEL_FORMAT_PIXEL_FORMAT_YCRCB_P010: PIXEL_FORMAT = 12;
pub type PIXEL_FORMAT = ::std::os::raw::c_uint;
pub const OH_PixelmapNative_AntiAliasingLevel_OH_PixelmapNative_AntiAliasing_NONE:
    OH_PixelmapNative_AntiAliasingLevel = 0;
pub const OH_PixelmapNative_AntiAliasingLevel_OH_PixelmapNative_AntiAliasing_LOW:
    OH_PixelmapNative_AntiAliasingLevel = 1;
pub const OH_PixelmapNative_AntiAliasingLevel_OH_PixelmapNative_AntiAliasing_MEDIUM:
    OH_PixelmapNative_AntiAliasingLevel = 2;
pub const OH_PixelmapNative_AntiAliasingLevel_OH_PixelmapNative_AntiAliasing_HIGH:
    OH_PixelmapNative_AntiAliasingLevel = 3;
pub type OH_PixelmapNative_AntiAliasingLevel = ::std::os::raw::c_uint;
pub const OH_Pixelmap_HdrMetadataKey_HDR_METADATA_TYPE: OH_Pixelmap_HdrMetadataKey = 0;
pub const OH_Pixelmap_HdrMetadataKey_HDR_STATIC_METADATA: OH_Pixelmap_HdrMetadataKey = 1;
pub const OH_Pixelmap_HdrMetadataKey_HDR_DYNAMIC_METADATA: OH_Pixelmap_HdrMetadataKey = 2;
pub const OH_Pixelmap_HdrMetadataKey_HDR_GAINMAP_METADATA: OH_Pixelmap_HdrMetadataKey = 3;
pub type OH_Pixelmap_HdrMetadataKey = ::std::os::raw::c_uint;
pub const OH_Pixelmap_HdrMetadataType_HDR_METADATA_TYPE_NONE: OH_Pixelmap_HdrMetadataType = 0;
pub const OH_Pixelmap_HdrMetadataType_HDR_METADATA_TYPE_BASE: OH_Pixelmap_HdrMetadataType = 1;
pub const OH_Pixelmap_HdrMetadataType_HDR_METADATA_TYPE_GAINMAP: OH_Pixelmap_HdrMetadataType = 2;
pub const OH_Pixelmap_HdrMetadataType_HDR_METADATA_TYPE_ALTERNATE: OH_Pixelmap_HdrMetadataType = 3;
pub type OH_Pixelmap_HdrMetadataType = ::std::os::raw::c_uint;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct OH_Pixelmap_HdrStaticMetadata {
    pub displayPrimariesX: [f32; 3usize],
    pub displayPrimariesY: [f32; 3usize],
    pub whitePointX: f32,
    pub whitePointY: f32,
    pub maxLuminance: f32,
    pub minLuminance: f32,
    pub maxContentLightLevel: f32,
    pub maxFrameAverageLightLevel: f32,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of OH_Pixelmap_HdrStaticMetadata"]
        [::std::mem::size_of::<OH_Pixelmap_HdrStaticMetadata>() - 48usize];
    ["Alignment of OH_Pixelmap_HdrStaticMetadata"]
        [::std::mem::align_of::<OH_Pixelmap_HdrStaticMetadata>() - 4usize];
    ["Offset of field: OH_Pixelmap_HdrStaticMetadata::displayPrimariesX"]
        [::std::mem::offset_of!(OH_Pixelmap_HdrStaticMetadata, displayPrimariesX) - 0usize];
    ["Offset of field: OH_Pixelmap_HdrStaticMetadata::displayPrimariesY"]
        [::std::mem::offset_of!(OH_Pixelmap_HdrStaticMetadata, displayPrimariesY) - 12usize];
    ["Offset of field: OH_Pixelmap_HdrStaticMetadata::whitePointX"]
        [::std::mem::offset_of!(OH_Pixelmap_HdrStaticMetadata, whitePointX) - 24usize];
    ["Offset of field: OH_Pixelmap_HdrStaticMetadata::whitePointY"]
        [::std::mem::offset_of!(OH_Pixelmap_HdrStaticMetadata, whitePointY) - 28usize];
    ["Offset of field: OH_Pixelmap_HdrStaticMetadata::maxLuminance"]
        [::std::mem::offset_of!(OH_Pixelmap_HdrStaticMetadata, maxLuminance) - 32usize];
    ["Offset of field: OH_Pixelmap_HdrStaticMetadata::minLuminance"]
        [::std::mem::offset_of!(OH_Pixelmap_HdrStaticMetadata, minLuminance) - 36usize];
    ["Offset of field: OH_Pixelmap_HdrStaticMetadata::maxContentLightLevel"]
        [::std::mem::offset_of!(OH_Pixelmap_HdrStaticMetadata, maxContentLightLevel) - 40usize];
    ["Offset of field: OH_Pixelmap_HdrStaticMetadata::maxFrameAverageLightLevel"][::std::mem::offset_of!(
        OH_Pixelmap_HdrStaticMetadata,
        maxFrameAverageLightLevel
    ) - 44usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct OH_Pixelmap_HdrDynamicMetadata {
    pub data: *mut u8,
    pub length: u32,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of OH_Pixelmap_HdrDynamicMetadata"]
        [::std::mem::size_of::<OH_Pixelmap_HdrDynamicMetadata>() - 16usize];
    ["Alignment of OH_Pixelmap_HdrDynamicMetadata"]
        [::std::mem::align_of::<OH_Pixelmap_HdrDynamicMetadata>() - 8usize];
    ["Offset of field: OH_Pixelmap_HdrDynamicMetadata::data"]
        [::std::mem::offset_of!(OH_Pixelmap_HdrDynamicMetadata, data) - 0usize];
    ["Offset of field: OH_Pixelmap_HdrDynamicMetadata::length"]
        [::std::mem::offset_of!(OH_Pixelmap_HdrDynamicMetadata, length) - 8usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct OH_Pixelmap_HdrGainmapMetadata {
    pub writerVersion: u16,
    pub miniVersion: u16,
    pub gainmapChannelNum: u8,
    pub useBaseColorFlag: bool,
    pub baseHeadroom: f32,
    pub alternateHeadroom: f32,
    pub gainmapMax: [f32; 3usize],
    pub gainmapMin: [f32; 3usize],
    pub gamma: [f32; 3usize],
    pub baselineOffset: [f32; 3usize],
    pub alternateOffset: [f32; 3usize],
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of OH_Pixelmap_HdrGainmapMetadata"]
        [::std::mem::size_of::<OH_Pixelmap_HdrGainmapMetadata>() - 76usize];
    ["Alignment of OH_Pixelmap_HdrGainmapMetadata"]
        [::std::mem::align_of::<OH_Pixelmap_HdrGainmapMetadata>() - 4usize];
    ["Offset of field: OH_Pixelmap_HdrGainmapMetadata::writerVersion"]
        [::std::mem::offset_of!(OH_Pixelmap_HdrGainmapMetadata, writerVersion) - 0usize];
    ["Offset of field: OH_Pixelmap_HdrGainmapMetadata::miniVersion"]
        [::std::mem::offset_of!(OH_Pixelmap_HdrGainmapMetadata, miniVersion) - 2usize];
    ["Offset of field: OH_Pixelmap_HdrGainmapMetadata::gainmapChannelNum"]
        [::std::mem::offset_of!(OH_Pixelmap_HdrGainmapMetadata, gainmapChannelNum) - 4usize];
    ["Offset of field: OH_Pixelmap_HdrGainmapMetadata::useBaseColorFlag"]
        [::std::mem::offset_of!(OH_Pixelmap_HdrGainmapMetadata, useBaseColorFlag) - 5usize];
    ["Offset of field: OH_Pixelmap_HdrGainmapMetadata::baseHeadroom"]
        [::std::mem::offset_of!(OH_Pixelmap_HdrGainmapMetadata, baseHeadroom) - 8usize];
    ["Offset of field: OH_Pixelmap_HdrGainmapMetadata::alternateHeadroom"]
        [::std::mem::offset_of!(OH_Pixelmap_HdrGainmapMetadata, alternateHeadroom) - 12usize];
    ["Offset of field: OH_Pixelmap_HdrGainmapMetadata::gainmapMax"]
        [::std::mem::offset_of!(OH_Pixelmap_HdrGainmapMetadata, gainmapMax) - 16usize];
    ["Offset of field: OH_Pixelmap_HdrGainmapMetadata::gainmapMin"]
        [::std::mem::offset_of!(OH_Pixelmap_HdrGainmapMetadata, gainmapMin) - 28usize];
    ["Offset of field: OH_Pixelmap_HdrGainmapMetadata::gamma"]
        [::std::mem::offset_of!(OH_Pixelmap_HdrGainmapMetadata, gamma) - 40usize];
    ["Offset of field: OH_Pixelmap_HdrGainmapMetadata::baselineOffset"]
        [::std::mem::offset_of!(OH_Pixelmap_HdrGainmapMetadata, baselineOffset) - 52usize];
    ["Offset of field: OH_Pixelmap_HdrGainmapMetadata::alternateOffset"]
        [::std::mem::offset_of!(OH_Pixelmap_HdrGainmapMetadata, alternateOffset) - 64usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct OH_Pixelmap_HdrMetadataValue {
    pub type_: OH_Pixelmap_HdrMetadataType,
    pub staticMetadata: OH_Pixelmap_HdrStaticMetadata,
    pub dynamicMetadata: OH_Pixelmap_HdrDynamicMetadata,
    pub gainmapMetadata: OH_Pixelmap_HdrGainmapMetadata,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of OH_Pixelmap_HdrMetadataValue"]
        [::std::mem::size_of::<OH_Pixelmap_HdrMetadataValue>() - 152usize];
    ["Alignment of OH_Pixelmap_HdrMetadataValue"]
        [::std::mem::align_of::<OH_Pixelmap_HdrMetadataValue>() - 8usize];
    ["Offset of field: OH_Pixelmap_HdrMetadataValue::type_"]
        [::std::mem::offset_of!(OH_Pixelmap_HdrMetadataValue, type_) - 0usize];
    ["Offset of field: OH_Pixelmap_HdrMetadataValue::staticMetadata"]
        [::std::mem::offset_of!(OH_Pixelmap_HdrMetadataValue, staticMetadata) - 4usize];
    ["Offset of field: OH_Pixelmap_HdrMetadataValue::dynamicMetadata"]
        [::std::mem::offset_of!(OH_Pixelmap_HdrMetadataValue, dynamicMetadata) - 56usize];
    ["Offset of field: OH_Pixelmap_HdrMetadataValue::gainmapMetadata"]
        [::std::mem::offset_of!(OH_Pixelmap_HdrMetadataValue, gainmapMetadata) - 72usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct OH_Pixelmap_InitializationOptions {
    _unused: [u8; 0],
}
extern "C" {
    pub fn OH_PixelmapInitializationOptions_Create(
        options: *mut *mut OH_Pixelmap_InitializationOptions,
    ) -> Image_ErrorCode;
}
extern "C" {
    pub fn OH_PixelmapInitializationOptions_GetWidth(
        options: *mut OH_Pixelmap_InitializationOptions,
        width: *mut u32,
    ) -> Image_ErrorCode;
}
extern "C" {
    pub fn OH_PixelmapInitializationOptions_SetWidth(
        options: *mut OH_Pixelmap_InitializationOptions,
        width: u32,
    ) -> Image_ErrorCode;
}
extern "C" {
    pub fn OH_PixelmapInitializationOptions_GetHeight(
        options: *mut OH_Pixelmap_InitializationOptions,
        height: *mut u32,
    ) -> Image_ErrorCode;
}
extern "C" {
    pub fn OH_PixelmapInitializationOptions_SetHeight(
        options: *mut OH_Pixelmap_InitializationOptions,
        height: u32,
    ) -> Image_ErrorCode;
}
extern "C" {
    pub fn OH_PixelmapInitializationOptions_GetPixelFormat(
        options: *mut OH_Pixelmap_InitializationOptions,
        pixelFormat: *mut i32,
    ) -> Image_ErrorCode;
}
extern "C" {
    pub fn OH_PixelmapInitializationOptions_SetPixelFormat(
        options: *mut OH_Pixelmap_InitializationOptions,
        pixelFormat: i32,
    ) -> Image_ErrorCode;
}
extern "C" {
    pub fn OH_PixelmapInitializationOptions_GetSrcPixelFormat(
        options: *mut OH_Pixelmap_InitializationOptions,
        srcpixelFormat: *mut i32,
    ) -> Image_ErrorCode;
}
extern "C" {
    pub fn OH_PixelmapInitializationOptions_SetSrcPixelFormat(
        options: *mut OH_Pixelmap_InitializationOptions,
        srcpixelFormat: i32,
    ) -> Image_ErrorCode;
}
extern "C" {
    pub fn OH_PixelmapInitializationOptions_GetRowStride(
        options: *mut OH_Pixelmap_InitializationOptions,
        rowStride: *mut i32,
    ) -> Image_ErrorCode;
}
extern "C" {
    pub fn OH_PixelmapInitializationOptions_SetRowStride(
        options: *mut OH_Pixelmap_InitializationOptions,
        rowStride: i32,
    ) -> Image_ErrorCode;
}
extern "C" {
    pub fn OH_PixelmapInitializationOptions_GetAlphaType(
        options: *mut OH_Pixelmap_InitializationOptions,
        alphaType: *mut i32,
    ) -> Image_ErrorCode;
}
extern "C" {
    pub fn OH_PixelmapInitializationOptions_SetAlphaType(
        options: *mut OH_Pixelmap_InitializationOptions,
        alphaType: i32,
    ) -> Image_ErrorCode;
}
extern "C" {
    pub fn OH_PixelmapInitializationOptions_Release(
        options: *mut OH_Pixelmap_InitializationOptions,
    ) -> Image_ErrorCode;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct OH_Pixelmap_ImageInfo {
    _unused: [u8; 0],
}
extern "C" {
    pub fn OH_PixelmapImageInfo_Create(info: *mut *mut OH_Pixelmap_ImageInfo) -> Image_ErrorCode;
}
extern "C" {
    pub fn OH_PixelmapImageInfo_GetWidth(
        info: *mut OH_Pixelmap_ImageInfo,
        width: *mut u32,
    ) -> Image_ErrorCode;
}
extern "C" {
    pub fn OH_PixelmapImageInfo_GetHeight(
        info: *mut OH_Pixelmap_ImageInfo,
        height: *mut u32,
    ) -> Image_ErrorCode;
}
extern "C" {
    pub fn OH_PixelmapImageInfo_GetRowStride(
        info: *mut OH_Pixelmap_ImageInfo,
        rowStride: *mut u32,
    ) -> Image_ErrorCode;
}
extern "C" {
    pub fn OH_PixelmapImageInfo_GetPixelFormat(
        info: *mut OH_Pixelmap_ImageInfo,
        pixelFormat: *mut i32,
    ) -> Image_ErrorCode;
}
extern "C" {
    pub fn OH_PixelmapImageInfo_GetAlphaType(
        info: *mut OH_Pixelmap_ImageInfo,
        alphaType: *mut i32,
    ) -> Image_ErrorCode;
}
extern "C" {
    pub fn OH_PixelmapImageInfo_GetDynamicRange(
        info: *mut OH_Pixelmap_ImageInfo,
        isHdr: *mut bool,
    ) -> Image_ErrorCode;
}
extern "C" {
    pub fn OH_PixelmapImageInfo_Release(info: *mut OH_Pixelmap_ImageInfo) -> Image_ErrorCode;
}
extern "C" {
    pub fn OH_PixelmapNative_CreatePixelmap(
        data: *mut u8,
        dataLength: usize,
        options: *mut OH_Pixelmap_InitializationOptions,
        pixelmap: *mut *mut OH_PixelmapNative,
    ) -> Image_ErrorCode;
}
extern "C" {
    pub fn OH_PixelmapNative_ConvertPixelmapNativeToNapi(
        env: napi_env,
        pixelmapNative: *mut OH_PixelmapNative,
        pixelmapNapi: *mut napi_value,
    ) -> Image_ErrorCode;
}
extern "C" {
    pub fn OH_PixelmapNative_ConvertPixelmapNativeFromNapi(
        env: napi_env,
        pixelmapNapi: napi_value,
        pixelmapNative: *mut *mut OH_PixelmapNative,
    ) -> Image_ErrorCode;
}
extern "C" {
    pub fn OH_PixelmapNative_ReadPixels(
        pixelmap: *mut OH_PixelmapNative,
        destination: *mut u8,
        bufferSize: *mut usize,
    ) -> Image_ErrorCode;
}
extern "C" {
    pub fn OH_PixelmapNative_WritePixels(
        pixelmap: *mut OH_PixelmapNative,
        source: *mut u8,
        bufferSize: usize,
    ) -> Image_ErrorCode;
}
extern "C" {
    pub fn OH_PixelmapNative_GetArgbPixels(
        pixelmap: *mut OH_PixelmapNative,
        destination: *mut u8,
        bufferSize: *mut usize,
    ) -> Image_ErrorCode;
}
extern "C" {
    pub fn OH_PixelmapNative_ToSdr(pixelmap: *mut OH_PixelmapNative) -> Image_ErrorCode;
}
extern "C" {
    pub fn OH_PixelmapNative_GetImageInfo(
        pixelmap: *mut OH_PixelmapNative,
        imageInfo: *mut OH_Pixelmap_ImageInfo,
    ) -> Image_ErrorCode;
}
extern "C" {
    pub fn OH_PixelmapNative_Opacity(
        pixelmap: *mut OH_PixelmapNative,
        rate: f32,
    ) -> Image_ErrorCode;
}
extern "C" {
    pub fn OH_PixelmapNative_Scale(
        pixelmap: *mut OH_PixelmapNative,
        scaleX: f32,
        scaleY: f32,
    ) -> Image_ErrorCode;
}
extern "C" {
    pub fn OH_PixelmapNative_ScaleWithAntiAliasing(
        pixelmap: *mut OH_PixelmapNative,
        scaleX: f32,
        scaleY: f32,
        level: OH_PixelmapNative_AntiAliasingLevel,
    ) -> Image_ErrorCode;
}
extern "C" {
    pub fn OH_PixelmapNative_Translate(
        pixelmap: *mut OH_PixelmapNative,
        x: f32,
        y: f32,
    ) -> Image_ErrorCode;
}
extern "C" {
    pub fn OH_PixelmapNative_Rotate(
        pixelmap: *mut OH_PixelmapNative,
        angle: f32,
    ) -> Image_ErrorCode;
}
extern "C" {
    pub fn OH_PixelmapNative_Flip(
        pixelmap: *mut OH_PixelmapNative,
        shouldFilpHorizontally: bool,
        shouldFilpVertically: bool,
    ) -> Image_ErrorCode;
}
extern "C" {
    pub fn OH_PixelmapNative_Crop(
        pixelmap: *mut OH_PixelmapNative,
        region: *mut Image_Region,
    ) -> Image_ErrorCode;
}
extern "C" {
    pub fn OH_PixelmapNative_Release(pixelmap: *mut OH_PixelmapNative) -> Image_ErrorCode;
}
extern "C" {
    pub fn OH_PixelmapNative_ConvertAlphaFormat(
        srcpixelmap: *mut OH_PixelmapNative,
        dstpixelmap: *mut OH_PixelmapNative,
        isPremul: bool,
    ) -> Image_ErrorCode;
}
extern "C" {
    pub fn OH_PixelmapNative_CreateEmptyPixelmap(
        options: *mut OH_Pixelmap_InitializationOptions,
        pixelmap: *mut *mut OH_PixelmapNative,
    ) -> Image_ErrorCode;
}
extern "C" {
    pub fn OH_PixelmapNative_GetMetadata(
        pixelmap: *mut OH_PixelmapNative,
        key: OH_Pixelmap_HdrMetadataKey,
        value: *mut *mut OH_Pixelmap_HdrMetadataValue,
    ) -> Image_ErrorCode;
}
extern "C" {
    pub fn OH_PixelmapNative_SetMetadata(
        pixelmap: *mut OH_PixelmapNative,
        key: OH_Pixelmap_HdrMetadataKey,
        value: *mut OH_Pixelmap_HdrMetadataValue,
    ) -> Image_ErrorCode;
}
extern "C" {
    pub fn OH_PixelmapNative_GetNativeBuffer(
        pixelmap: *mut OH_PixelmapNative,
        nativeBuffer: *mut *mut OH_NativeBuffer,
    ) -> Image_ErrorCode;
}
extern "C" {
    pub fn OH_PixelmapNative_SetMemoryName(
        pixelmap: *mut OH_PixelmapNative,
        name: *mut ::std::os::raw::c_char,
        size: *mut usize,
    ) -> Image_ErrorCode;
}
extern "C" {
    pub fn OH_PixelmapNative_GetColorSpaceNative(
        pixelmap: *mut OH_PixelmapNative,
        colorSpaceNative: *mut *mut OH_NativeColorSpaceManager,
    ) -> Image_ErrorCode;
}
extern "C" {
    pub fn OH_PixelmapNative_SetColorSpaceNative(
        pixelmap: *mut OH_PixelmapNative,
        colorSpaceNative: *mut OH_NativeColorSpaceManager,
    ) -> Image_ErrorCode;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct OH_UdsPlainText {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct OH_UdsHyperlink {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct OH_UdsHtml {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct OH_UdsAppItem {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct OH_UdsFileUri {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct OH_UdsPixelMap {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct OH_UdsContentForm {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct OH_UdsArrayBuffer {
    _unused: [u8; 0],
}
extern "C" {
    #[doc = " @brief Creation a pointer to the instance of the {@link OH_UdsPlainText}.\n\n @return If the operation is successful, a pointer to the instance of the {@link OH_UdsPlainText}\n structure is returned. If the operation is failed, nullptr is returned.\n @see OH_UdsPlainText\n @since 12"]
    pub fn OH_UdsPlainText_Create() -> *mut OH_UdsPlainText;
}
extern "C" {
    #[doc = " @brief Destroy a pointer that points to the {@link OH_UdsPlainText} instance.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdsPlainText}.\n @see OH_UdsPlainText\n @since 12"]
    pub fn OH_UdsPlainText_Destroy(pThis: *mut OH_UdsPlainText);
}
extern "C" {
    #[doc = " @brief Get type id from the {@link OH_UdsPlainText}.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdsPlainText}.\n @return Returns a pointer of the value string when input args normally, otherwise return nullptr.\n @see OH_UdsPlainText\n @since 12"]
    pub fn OH_UdsPlainText_GetType(pThis: *mut OH_UdsPlainText) -> *const ::std::os::raw::c_char;
}
extern "C" {
    #[doc = " @brief Get content from the {@link OH_UdsPlainText}.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdsPlainText}.\n @return Returns a pointer of the value string when input args normally, otherwise return nullptr.\n @see OH_UdsPlainText\n @since 12"]
    pub fn OH_UdsPlainText_GetContent(pThis: *mut OH_UdsPlainText)
        -> *const ::std::os::raw::c_char;
}
extern "C" {
    #[doc = " @brief Get abstract from the {@link OH_UdsPlainText}.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdsPlainText}.\n @return Returns a pointer of the value string when input args normally, otherwise return nullptr.\n @see OH_UdsPlainText\n @since 12"]
    pub fn OH_UdsPlainText_GetAbstract(
        pThis: *mut OH_UdsPlainText,
    ) -> *const ::std::os::raw::c_char;
}
extern "C" {
    #[doc = " @brief Set content to the {@link OH_UdsPlainText}.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdsPlainText}.\n @param content Represents a new content string.\n @return Returns the status code of the execution. See {@link Udmf_ErrCode}.\n         {@link UDMF_E_OK} success.\n         {@link UDMF_E_INVALID_PARAM} The error code for common invalid args.\n @see OH_UdsPlainText Udmf_ErrCode\n @since 12"]
    pub fn OH_UdsPlainText_SetContent(
        pThis: *mut OH_UdsPlainText,
        content: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    #[doc = " @brief Set abstract to the {@link OH_UdsPlainText}.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdsPlainText}.\n @param abstract Represents a new string value.\n @return Returns the status code of the execution. See {@link Udmf_ErrCode}.\n         {@link UDMF_E_OK} success.\n         {@link UDMF_E_INVALID_PARAM} The error code for common invalid args.\n @see OH_UdsPlainText Udmf_ErrCode\n @since 12"]
    pub fn OH_UdsPlainText_SetAbstract(
        pThis: *mut OH_UdsPlainText,
        abstract_: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    #[doc = " @brief Creation a pointer to the instance of the {@link OH_UdsHyperlink}.\n\n @return If the operation is successful, a pointer to the instance of {@link OH_UdsHyperlink}\n structure is returned. If the operation is failed, nullptr is returned.\n @see OH_UdsHyperlink\n @since 12"]
    pub fn OH_UdsHyperlink_Create() -> *mut OH_UdsHyperlink;
}
extern "C" {
    #[doc = " @brief Destroy a pointer that points to the {@link OH_UdsHyperlink} instance.\n\n @param pThis Represents a pointer to an  instance of {@link OH_UdsHyperlink}.\n @see OH_UdsHyperlink\n @since 12"]
    pub fn OH_UdsHyperlink_Destroy(pThis: *mut OH_UdsHyperlink);
}
extern "C" {
    #[doc = " @brief Get type from the {@link OH_UdsHyperlink}.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdsHyperlink}.\n @return Returns a pointer of the value string when input args normally, otherwise return nullptr.\n @see OH_UdsHyperlink\n @since 12"]
    pub fn OH_UdsHyperlink_GetType(pThis: *mut OH_UdsHyperlink) -> *const ::std::os::raw::c_char;
}
extern "C" {
    #[doc = " @brief Get url from the {@link OH_UdsHyperlink}.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdsHyperlink}.\n @return Returns a pointer of the value string when input args normally, otherwise return nullptr.\n @see OH_UdsHyperlink\n @since 12"]
    pub fn OH_UdsHyperlink_GetUrl(pThis: *mut OH_UdsHyperlink) -> *const ::std::os::raw::c_char;
}
extern "C" {
    #[doc = " @brief Get description from the {@link OH_UdsHyperlink}.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdsHyperlink}.\n @return Returns a pointer of the value string when input args normally, otherwise return nullptr.\n @see OH_UdsHyperlink\n @since 12"]
    pub fn OH_UdsHyperlink_GetDescription(
        pThis: *mut OH_UdsHyperlink,
    ) -> *const ::std::os::raw::c_char;
}
extern "C" {
    #[doc = " @brief Set url to the {@link OH_UdsHyperlink}.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdsHyperlink}.\n @param url Represents a new string value.\n @return Returns the status code of the execution. See {@link Udmf_ErrCode}.\n         {@link UDMF_E_OK} success.\n         {@link UDMF_E_INVALID_PARAM} The error code for common invalid args.\n @see OH_UdsHyperlink Udmf_ErrCode\n @since 12"]
    pub fn OH_UdsHyperlink_SetUrl(
        pThis: *mut OH_UdsHyperlink,
        url: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    #[doc = " @brief Set description to the {@link OH_UdsHyperlink}.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdsHyperlink}.\n @param description Represents a new string value.\n @return Returns the status code of the execution. See {@link Udmf_ErrCode}.\n         {@link UDMF_E_OK} success.\n         {@link UDMF_E_INVALID_PARAM} The error code for common invalid args.\n @see OH_UdsHyperlink Udmf_ErrCode\n @since 12"]
    pub fn OH_UdsHyperlink_SetDescription(
        pThis: *mut OH_UdsHyperlink,
        description: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    #[doc = " @brief Creation a pointer to the instance of the {@link OH_UdsHtml}.\n\n @return If the operation is successful, a pointer to the instance of the {@link OH_UdsHtml}\n structure is returned. If the operation is failed, nullptr is returned.\n @see OH_UdsHtml\n @since 12"]
    pub fn OH_UdsHtml_Create() -> *mut OH_UdsHtml;
}
extern "C" {
    #[doc = " @brief Destroy a pointer that points to the {@link OH_UdsHtml} instance.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdsHtml}.\n @see OH_UdsHtml\n @since 12"]
    pub fn OH_UdsHtml_Destroy(pThis: *mut OH_UdsHtml);
}
extern "C" {
    #[doc = " @brief Get html from the {@link OH_UdsHtml}.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdsHtml}.\n @return Returns a pointer of the value string when input args normally, otherwise return nullptr.\n @see OH_UdsHtml\n @since 12"]
    pub fn OH_UdsHtml_GetType(pThis: *mut OH_UdsHtml) -> *const ::std::os::raw::c_char;
}
extern "C" {
    #[doc = " @brief Get content from the {@link OH_UdsHtml}.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdsHtml}.\n @return Returns a pointer of the value string when input args normally, otherwise return nullptr.\n @see OH_UdsHtml\n @since 12"]
    pub fn OH_UdsHtml_GetContent(pThis: *mut OH_UdsHtml) -> *const ::std::os::raw::c_char;
}
extern "C" {
    #[doc = " @brief Get plain content from the {@link OH_UdsHtml}.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdsHtml}.\n @return Returns a pointer of the value string when input args normally, otherwise return nullptr.\n @see OH_UdsHtml\n @since 12"]
    pub fn OH_UdsHtml_GetPlainContent(pThis: *mut OH_UdsHtml) -> *const ::std::os::raw::c_char;
}
extern "C" {
    #[doc = " @brief Set content to the {@link OH_UdsHtml}.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdsHtml}.\n @param content Represents a new string value.\n @return Returns the status code of the execution. See {@link Udmf_ErrCode}.\n         {@link UDMF_E_OK} success.\n         {@link UDMF_E_INVALID_PARAM} The error code for common invalid args.\n @see OH_UdsHtml Udmf_ErrCode\n @since 12"]
    pub fn OH_UdsHtml_SetContent(
        pThis: *mut OH_UdsHtml,
        content: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    #[doc = " @brief Set plain content to the {@link OH_UdsHtml}.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdsHtml}.\n @param plainContent Represents a new string value.\n @return Returns the status code of the execution. See {@link Udmf_ErrCode}.\n         {@link UDMF_E_OK} success.\n         {@link UDMF_E_INVALID_PARAM} The error code for common invalid args.\n @see OH_UdsHtml Udmf_ErrCode\n @since 12"]
    pub fn OH_UdsHtml_SetPlainContent(
        pThis: *mut OH_UdsHtml,
        plainContent: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    #[doc = " @brief Creation a pointer to the instance of the {@link OH_UdsAppItem}.\n\n @return If the operation is successful, a pointer to the instance of the {@link OH_UdsAppItem}\n structure is returned. sIf the operation is failed, nullptr is returned.\n @see OH_UdsAppItem\n @since 12"]
    pub fn OH_UdsAppItem_Create() -> *mut OH_UdsAppItem;
}
extern "C" {
    #[doc = " @brief Destroy a pointer that points to the {@link OH_UdsAppItem} instance.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdsAppItem}.\n @see OH_UdsAppItem\n @since 12"]
    pub fn OH_UdsAppItem_Destroy(pThis: *mut OH_UdsAppItem);
}
extern "C" {
    #[doc = " @brief Get type from the {@link OH_UdsAppItem}.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdsAppItem}.\n @return Returns a pointer of the value string when input args normally, otherwise return nullptr.\n @see OH_UdsAppItem\n @since 12"]
    pub fn OH_UdsAppItem_GetType(pThis: *mut OH_UdsAppItem) -> *const ::std::os::raw::c_char;
}
extern "C" {
    #[doc = " @brief Get app id from the {@link OH_UdsAppItem}.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdsAppItem}.\n @return Returns a pointer of the value string when input args normally, otherwise return nullptr.\n @see OH_UdsAppItem\n @since 12"]
    pub fn OH_UdsAppItem_GetId(pThis: *mut OH_UdsAppItem) -> *const ::std::os::raw::c_char;
}
extern "C" {
    #[doc = " @brief Get app name from the {@link OH_UdsAppItem}.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdsAppItem}.\n @return Returns a pointer of the value string when input args normally, otherwise return nullptr.\n @see OH_UdsAppItem\n @since 12"]
    pub fn OH_UdsAppItem_GetName(pThis: *mut OH_UdsAppItem) -> *const ::std::os::raw::c_char;
}
extern "C" {
    #[doc = " @brief Get app icon id from the {@link OH_UdsAppItem}.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdsAppItem}.\n @return Returns a pointer of the value string when input args normally, otherwise return nullptr.\n @see OH_UdsAppItem\n @since 12"]
    pub fn OH_UdsAppItem_GetIconId(pThis: *mut OH_UdsAppItem) -> *const ::std::os::raw::c_char;
}
extern "C" {
    #[doc = " @brief Get app label id from the {@link OH_UdsAppItem}.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdsAppItem}.\n @return Returns a pointer of the value string when input args normally, otherwise return nullptr.\n @see OH_UdsAppItem\n @since 12"]
    pub fn OH_UdsAppItem_GetLabelId(pThis: *mut OH_UdsAppItem) -> *const ::std::os::raw::c_char;
}
extern "C" {
    #[doc = " @brief Get bundle name from the {@link OH_UdsAppItem}.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdsAppItem}.\n @return Returns a pointer of the value string when input args normally, otherwise return nullptr.\n @see OH_UdsAppItem\n @since 12"]
    pub fn OH_UdsAppItem_GetBundleName(pThis: *mut OH_UdsAppItem) -> *const ::std::os::raw::c_char;
}
extern "C" {
    #[doc = " @brief Get ability name from the {@link OH_UdsAppItem}.\n\n @param pThis Represents a pointer to an instance {@link OH_UdsAppItem}.\n @return Returns a pointer of the value string when input args normally, otherwise return nullptr.\n @see OH_UdsAppItem\n @since 12"]
    pub fn OH_UdsAppItem_GetAbilityName(pThis: *mut OH_UdsAppItem)
        -> *const ::std::os::raw::c_char;
}
extern "C" {
    #[doc = " @brief Set application id to the {@link OH_UdsAppItem}.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdsAppItem}.\n @param appId Represents a new string value.\n @return Returns the status code of the execution. See {@link Udmf_ErrCode}.\n         {@link UDMF_E_OK} success.\n         {@link UDMF_E_INVALID_PARAM} The error code for common invalid args.\n @see OH_UdsAppItem Udmf_ErrCode\n @since 12"]
    pub fn OH_UdsAppItem_SetId(
        pThis: *mut OH_UdsAppItem,
        appId: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    #[doc = " @brief Set application name to the {@link OH_UdsAppItem}.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdsAppItem}.\n @param appName Represents a new string value.\n @return Returns the status code of the execution. See {@link Udmf_ErrCode}.\n         {@link UDMF_E_OK} success.\n         {@link UDMF_E_INVALID_PARAM} The error code for common invalid args.\n @see OH_UdsAppItem Udmf_ErrCode\n @since 12"]
    pub fn OH_UdsAppItem_SetName(
        pThis: *mut OH_UdsAppItem,
        appName: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    #[doc = " @brief Set application icon id to the {@link OH_UdsAppItem}.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdsAppItem}.\n @param appIconId Represents a new string value.\n @return Returns the status code of the execution. See {@link Udmf_ErrCode}.\n         {@link UDMF_E_OK} success.\n         {@link UDMF_E_INVALID_PARAM} The error code for common invalid args.\n @see OH_UdsAppItem Udmf_ErrCode\n @since 12"]
    pub fn OH_UdsAppItem_SetIconId(
        pThis: *mut OH_UdsAppItem,
        appIconId: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    #[doc = " @brief Set application label id to the {@link OH_UdsAppItem}.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdsAppItem}.\n @param appLabelId Represents a new string value.\n @return Returns the status code of the execution. See {@link Udmf_ErrCode}.\n         {@link UDMF_E_OK} success.\n         {@link UDMF_E_INVALID_PARAM} The error code for common invalid args.\n @see OH_UdsAppItem Udmf_ErrCode\n @since 12"]
    pub fn OH_UdsAppItem_SetLabelId(
        pThis: *mut OH_UdsAppItem,
        appLabelId: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    #[doc = " @brief Set bundle name to the {@link OH_UdsAppItem}.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdsAppItem}.\n @param bundleName Represents a new string value.\n @return Returns the status code of the execution. See {@link Udmf_ErrCode}.\n         {@link UDMF_E_OK} success.\n         {@link UDMF_E_INVALID_PARAM} The error code for common invalid args.\n @see OH_UdsAppItem Udmf_ErrCode\n @since 12"]
    pub fn OH_UdsAppItem_SetBundleName(
        pThis: *mut OH_UdsAppItem,
        bundleName: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    #[doc = " @brief Set ability name to the {@link OH_UdsAppItem}.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdsAppItem}.\n @param abilityName Represents a new string value.\n @return Returns the status code of the execution. See {@link Udmf_ErrCode}.\n         {@link UDMF_E_OK} success.\n         {@link UDMF_E_INVALID_PARAM} The error code for common invalid args.\n @see OH_UdsAppItem Udmf_ErrCode\n @since 12"]
    pub fn OH_UdsAppItem_SetAbilityName(
        pThis: *mut OH_UdsAppItem,
        abilityName: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    #[doc = " @brief Creation a pointer to the instance of the {@link OH_UdsFileUri}.\n\n @return If the operation is successful, a pointer to the instance of the {@link OH_UdsFileUri}\n structure is returned. If the memory is not enough, nullptr is returned.\n @see OH_UdsFileUri\n @since 13"]
    pub fn OH_UdsFileUri_Create() -> *mut OH_UdsFileUri;
}
extern "C" {
    #[doc = " @brief Destroy a pointer that points to the {@link OH_UdsFileUri} instance.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdsFileUri}.\n @see OH_UdsFileUri\n @since 13"]
    pub fn OH_UdsFileUri_Destroy(pThis: *mut OH_UdsFileUri);
}
extern "C" {
    #[doc = " @brief Get type id from the {@link OH_UdsFileUri}.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdsFileUri}.\n @return Returns a pointer of the value string when input args normally, otherwise return nullptr.\n @see OH_UdsFileUri\n @since 13"]
    pub fn OH_UdsFileUri_GetType(pThis: *mut OH_UdsFileUri) -> *const ::std::os::raw::c_char;
}
extern "C" {
    #[doc = " @brief Get file uri from the {@link OH_UdsFileUri}.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdsFileUri}.\n @return Returns a pointer of the value string when input args normally, otherwise return nullptr.\n @see OH_UdsFileUri\n @since 13"]
    pub fn OH_UdsFileUri_GetFileUri(pThis: *mut OH_UdsFileUri) -> *const ::std::os::raw::c_char;
}
extern "C" {
    #[doc = " @brief Get file type from the {@link OH_UdsFileUri}.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdsFileUri}.\n @return Returns a pointer of the value string when input args normally, otherwise return nullptr.\n @see OH_UdsFileUri\n @since 13"]
    pub fn OH_UdsFileUri_GetFileType(pThis: *mut OH_UdsFileUri) -> *const ::std::os::raw::c_char;
}
extern "C" {
    #[doc = " @brief Set file uri to the {@link OH_UdsFileUri}.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdsFileUri}.\n @param fileUri Represents a new file uri string.\n @return Returns the status code of the execution. See {@link Udmf_ErrCode}.\n         {@link UDMF_E_OK} success.\n         {@link UDMF_E_INVALID_PARAM} The error code for common invalid args.\n @see OH_UdsFileUri Udmf_ErrCode\n @since 13"]
    pub fn OH_UdsFileUri_SetFileUri(
        pThis: *mut OH_UdsFileUri,
        fileUri: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    #[doc = " @brief Set file type to the {@link OH_UdsFileUri}.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdsFileUri}.\n @param fileType Represents a new file type string.\n @return Returns the status code of the execution. See {@link Udmf_ErrCode}.\n         {@link UDMF_E_OK} success.\n         {@link UDMF_E_INVALID_PARAM} The error code for common invalid args.\n @see OH_UdsFileUri Udmf_ErrCode\n @since 13"]
    pub fn OH_UdsFileUri_SetFileType(
        pThis: *mut OH_UdsFileUri,
        fileType: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    #[doc = " @brief Creation a pointer to the instance of the {@link OH_UdsPixelMap}.\n\n @return If the operation is successful, a pointer to the instance of the {@link OH_UdsPixelMap}\n structure is returned. If the memory is not enough, nullptr is returned.\n @see OH_UdsPixelMap\n @since 13"]
    pub fn OH_UdsPixelMap_Create() -> *mut OH_UdsPixelMap;
}
extern "C" {
    #[doc = " @brief Destroy a pointer that points to the {@link OH_UdsPixelMap} instance.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdsPixelMap}.\n @see OH_UdsPixelMap\n @since 13"]
    pub fn OH_UdsPixelMap_Destroy(pThis: *mut OH_UdsPixelMap);
}
extern "C" {
    #[doc = " @brief Get type id from the {@link OH_UdsPixelMap}.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdsPixelMap}.\n @return Returns a pointer of the value string when input args normally, otherwise return nullptr.\n @see OH_UdsPixelMap\n @since 13"]
    pub fn OH_UdsPixelMap_GetType(pThis: *mut OH_UdsPixelMap) -> *const ::std::os::raw::c_char;
}
extern "C" {
    #[doc = " @brief Get pixel map from the {@link OH_UdsPixelMap}.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdsPixelMap}.\n @param pixelmapNative Represents output params of {@link OH_PixelmapNative}.\n @see OH_UdsPixelMap\n @since 13"]
    pub fn OH_UdsPixelMap_GetPixelMap(
        pThis: *mut OH_UdsPixelMap,
        pixelmapNative: *mut OH_PixelmapNative,
    );
}
extern "C" {
    #[doc = " @brief Set pixel map to the {@link OH_UdsPixelMap}.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdsPixelMap}.\n @param pixelmapNative Represents a new {@link OH_PixelmapNative}.\n @return Returns the status code of the execution. See {@link Udmf_ErrCode}.\n         {@link UDMF_E_OK} success.\n         {@link UDMF_E_INVALID_PARAM} The error code for common invalid args.\n @see OH_UdsPixelMap Udmf_ErrCode\n @since 13"]
    pub fn OH_UdsPixelMap_SetPixelMap(
        pThis: *mut OH_UdsPixelMap,
        pixelmapNative: *mut OH_PixelmapNative,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    #[doc = " @brief Creation a pointer to the instance of the {@link OH_UdsArrayBuffer}.\n\n @return If the operation is successful, a pointer to the instance of the {@link OH_UdsArrayBuffer}\n structure is returned. If the memory is not enough, nullptr is returned.\n @see OH_UdsArrayBuffer\n @since 13"]
    pub fn OH_UdsArrayBuffer_Create() -> *mut OH_UdsArrayBuffer;
}
extern "C" {
    #[doc = " @brief Destroy a pointer that points to the {@link OH_UdsArrayBuffer} instance.\n\n @param buffer Represents a pointer to an instance of {@link OH_UdsArrayBuffer}.\n @return Returns the status code of the execution. See {@link Udmf_ErrCode}.\n         {@link UDMF_E_OK} success.\n         {@link UDMF_E_INVALID_PARAM} The error code for common invalid args.\n @see OH_UdsArrayBuffer Udmf_ErrCode\n @since 13"]
    pub fn OH_UdsArrayBuffer_Destroy(buffer: *mut OH_UdsArrayBuffer) -> ::std::os::raw::c_int;
}
extern "C" {
    #[doc = " @brief Set array buffer data to the {@link OH_UdsArrayBuffer}.\n\n @param buffer Represents a pointer to an instance of {@link OH_UdsArrayBuffer}.\n @param data Represents the array buffer data.\n @param len Represents the length of data param.\n @return Returns the status code of the execution. See {@link Udmf_ErrCode}.\n         {@link UDMF_E_OK} success.\n         {@link UDMF_E_INVALID_PARAM} The error code for common invalid args.\n @see OH_UdsArrayBuffer Udmf_ErrCode\n @since 13"]
    pub fn OH_UdsArrayBuffer_SetData(
        buffer: *mut OH_UdsArrayBuffer,
        data: *mut ::std::os::raw::c_uchar,
        len: ::std::os::raw::c_uint,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    #[doc = " @brief Get array buffer data from the {@link OH_UdsArrayBuffer}.\n\n @param buffer Represents a pointer to an instance of {@link OH_UdsArrayBuffer}.\n @param data Represents a pointer to array buffer data that is a output param.\n @param len Represents the array buffer data length that is a output param.\n @return Returns the status code of the execution. See {@link Udmf_ErrCode}.\n         {@link UDMF_E_OK} success.\n         {@link UDMF_E_INVALID_PARAM} The error code for common invalid args.\n @see OH_UdsArrayBuffer Udmf_ErrCode\n @since 13"]
    pub fn OH_UdsArrayBuffer_GetData(
        buffer: *mut OH_UdsArrayBuffer,
        data: *mut *mut ::std::os::raw::c_uchar,
        len: *mut ::std::os::raw::c_uint,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    #[doc = " @brief Creation a pointer to the instance of the {@link OH_UdsContentForm}.\n\n @return If the operation is successful, a pointer to the instance of the {@link OH_UdsContentForm}\n structure is returned. If the operation is failed, nullptr is returned.\n @see OH_UdsContentForm\n @since 14"]
    pub fn OH_UdsContentForm_Create() -> *mut OH_UdsContentForm;
}
extern "C" {
    #[doc = " @brief Destroy a pointer that points to the {@link OH_UdsContentForm} instance.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdsContentForm}.\n @see OH_UdsContentForm\n @since 14"]
    pub fn OH_UdsContentForm_Destroy(pThis: *mut OH_UdsContentForm);
}
extern "C" {
    #[doc = " @brief Get type id from the {@link OH_UdsContentForm}.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdsContentForm}.\n @return Returns a pointer of the value string when input args normally, otherwise return nullptr.\n @see OH_UdsContentForm\n @since 14"]
    pub fn OH_UdsContentForm_GetType(
        pThis: *mut OH_UdsContentForm,
    ) -> *const ::std::os::raw::c_char;
}
extern "C" {
    #[doc = " @brief Get thumb data from the {@link OH_UdsContentForm}.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdsContentForm}.\n @param thumbData Represents a pointer to thumb data that is a output param.\n @param len Represents the thumb data length that is a output param.\n @return Returns the status code of the execution. See {@link Udmf_ErrCode}.\n         {@link UDMF_E_OK} success.\n         {@link UDMF_E_INVALID_PARAM} The error code for common invalid args.\n         {@link UDMF_ERR} Internal data error.\n @see OH_UdsContentForm Udmf_ErrCode\n @since 14"]
    pub fn OH_UdsContentForm_GetThumbData(
        pThis: *mut OH_UdsContentForm,
        thumbData: *mut *mut ::std::os::raw::c_uchar,
        len: *mut ::std::os::raw::c_uint,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    #[doc = " @brief Get description from the {@link OH_UdsContentForm}.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdsContentForm}.\n @return Returns a pointer of the value string when input args normally, otherwise return nullptr.\n @see OH_UdsContentForm\n @since 14"]
    pub fn OH_UdsContentForm_GetDescription(
        pThis: *mut OH_UdsContentForm,
    ) -> *const ::std::os::raw::c_char;
}
extern "C" {
    #[doc = " @brief Get title from the {@link OH_UdsContentForm}.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdsContentForm}.\n @return Returns a pointer of the value string when input args normally, otherwise return nullptr.\n @see OH_UdsContentForm\n @since 14"]
    pub fn OH_UdsContentForm_GetTitle(
        pThis: *mut OH_UdsContentForm,
    ) -> *const ::std::os::raw::c_char;
}
extern "C" {
    #[doc = " @brief Get thumb data from the {@link OH_UdsContentForm}.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdsContentForm}.\n @param appIcon Represents a pointer to app icon that is a output param.\n @param len Represents the app icon length that is a output param.\n @return Returns the status code of the execution. See {@link Udmf_ErrCode}.\n         {@link UDMF_E_OK} success.\n         {@link UDMF_E_INVALID_PARAM} The error code for common invalid args.\n         {@link UDMF_ERR} Internal data error.\n @see OH_UdsContentForm Udmf_ErrCode\n @since 14"]
    pub fn OH_UdsContentForm_GetAppIcon(
        pThis: *mut OH_UdsContentForm,
        appIcon: *mut *mut ::std::os::raw::c_uchar,
        len: *mut ::std::os::raw::c_uint,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    #[doc = " @brief Get app name from the {@link OH_UdsContentForm}.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdsContentForm}.\n @return Returns a pointer of the value string when input args normally, otherwise return nullptr.\n @see OH_UdsContentForm\n @since 14"]
    pub fn OH_UdsContentForm_GetAppName(
        pThis: *mut OH_UdsContentForm,
    ) -> *const ::std::os::raw::c_char;
}
extern "C" {
    #[doc = " @brief Get link url from the {@link OH_UdsContentForm}.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdsContentForm}.\n @return Returns a pointer of the value string when input args normally, otherwise return nullptr.\n @see OH_UdsContentForm\n @since 14"]
    pub fn OH_UdsContentForm_GetLinkUri(
        pThis: *mut OH_UdsContentForm,
    ) -> *const ::std::os::raw::c_char;
}
extern "C" {
    #[doc = " @brief Set thumb data to the {@link OH_UdsContentForm}.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdsContentForm}.\n @param thumbData Represents the thumb data.\n @param len Represents the length of thumb data param.\n @return Returns the status code of the execution. See {@link Udmf_ErrCode}.\n         {@link UDMF_E_OK} success.\n         {@link UDMF_E_INVALID_PARAM} The error code for common invalid args.\n @see OH_UdsContentForm Udmf_ErrCode\n @since 14"]
    pub fn OH_UdsContentForm_SetThumbData(
        pThis: *mut OH_UdsContentForm,
        thumbData: *const ::std::os::raw::c_uchar,
        len: ::std::os::raw::c_uint,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    #[doc = " @brief Set description to the {@link OH_UdsContentForm}.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdsContentForm}.\n @param description Represents a description string.\n @return Returns the status code of the execution. See {@link Udmf_ErrCode}.\n         {@link UDMF_E_OK} success.\n         {@link UDMF_E_INVALID_PARAM} The error code for common invalid args.\n @see OH_UdsContentForm Udmf_ErrCode\n @since 14"]
    pub fn OH_UdsContentForm_SetDescription(
        pThis: *mut OH_UdsContentForm,
        description: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    #[doc = " @brief Set title to the {@link OH_UdsContentForm}.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdsContentForm}.\n @param title Represents a title string.\n @return Returns the status code of the execution. See {@link Udmf_ErrCode}.\n         {@link UDMF_E_OK} success.\n         {@link UDMF_E_INVALID_PARAM} The error code for common invalid args.\n @see OH_UdsContentForm Udmf_ErrCode\n @since 14"]
    pub fn OH_UdsContentForm_SetTitle(
        pThis: *mut OH_UdsContentForm,
        title: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    #[doc = " @brief Set thumb data to the {@link OH_UdsContentForm}.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdsContentForm}.\n @param appIcon Represents the app icon.\n @param len Represents the length of app icon param.\n @return Returns the status code of the execution. See {@link Udmf_ErrCode}.\n         {@link UDMF_E_OK} success.\n         {@link UDMF_E_INVALID_PARAM} The error code for common invalid args.\n @see OH_UdsContentForm Udmf_ErrCode\n @since 14"]
    pub fn OH_UdsContentForm_SetAppIcon(
        pThis: *mut OH_UdsContentForm,
        appIcon: *const ::std::os::raw::c_uchar,
        len: ::std::os::raw::c_uint,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    #[doc = " @brief Set app name to the {@link OH_UdsContentForm}.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdsContentForm}.\n @param appName Represents a app name string.\n @return Returns the status code of the execution. See {@link Udmf_ErrCode}.\n         {@link UDMF_E_OK} success.\n         {@link UDMF_E_INVALID_PARAM} The error code for common invalid args.\n @see OH_UdsContentForm Udmf_ErrCode\n @since 14"]
    pub fn OH_UdsContentForm_SetAppName(
        pThis: *mut OH_UdsContentForm,
        appName: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    #[doc = " @brief Set link uri to the {@link OH_UdsContentForm}.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdsContentForm}.\n @param linkUri Represents a link uri string.\n @return Returns the status code of the execution. See {@link Udmf_ErrCode}.\n         {@link UDMF_E_OK} success.\n         {@link UDMF_E_INVALID_PARAM} The error code for common invalid args.\n @see OH_UdsContentForm Udmf_ErrCode\n @since 14"]
    pub fn OH_UdsContentForm_SetLinkUri(
        pThis: *mut OH_UdsContentForm,
        linkUri: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
#[doc = " @brief The intention is drag."]
pub const Udmf_Intention_UDMF_INTENTION_DRAG: Udmf_Intention = 0;
#[doc = " @brief The intention is pasteboard."]
pub const Udmf_Intention_UDMF_INTENTION_PASTEBOARD: Udmf_Intention = 1;
#[doc = " @brief Describe the intention type of the udmf.\n\n @since 12"]
pub type Udmf_Intention = ::std::os::raw::c_uint;
#[doc = " @brief Invalid share option."]
pub const Udmf_ShareOption_SHARE_OPTIONS_INVALID: Udmf_ShareOption = 0;
#[doc = " @brief Allowed to be used in the same application on this device."]
pub const Udmf_ShareOption_SHARE_OPTIONS_IN_APP: Udmf_ShareOption = 1;
#[doc = " @brief Allowed to be used in the cross application on this device."]
pub const Udmf_ShareOption_SHARE_OPTIONS_CROSS_APP: Udmf_ShareOption = 2;
#[doc = " @brief Describe intra-device usage range type enumeration.\n\n @since 12"]
pub type Udmf_ShareOption = ::std::os::raw::c_uint;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct OH_UdmfData {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct OH_UdmfRecord {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct OH_UdmfRecordProvider {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct OH_UdmfProperty {
    _unused: [u8; 0],
}
extern "C" {
    #[doc = " @brief Creation a pointer to the instance of the {@link OH_UdmfData}.\n\n @return If the operation is successful, a pointer to the instance of the {@link OH_UdmfData}\n structure is returned. If the operation is failed, nullptr is returned.\n @see OH_UdmfData.\n @since 12"]
    pub fn OH_UdmfData_Create() -> *mut OH_UdmfData;
}
extern "C" {
    #[doc = " @brief Destroy a pointer that points to the {@link OH_UdmfData} instance.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdmfData}.\n @see OH_UdmfData.\n @since 12"]
    pub fn OH_UdmfData_Destroy(pThis: *mut OH_UdmfData);
}
extern "C" {
    #[doc = " @brief Add one {OH_UdmfRecord} record to the {@link OH_UdmfData} data.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdmfData}.\n @param record Represents a pointer to an instance of {@link OH_UdmfRecord}.\n @return Returns the status code of the execution. See {@link Udmf_ErrCode}.\n         {@link UDMF_E_OK} success.\n         {@link UDMF_E_INVALID_PARAM} The error code for common invalid args.\n @see OH_UdmfData Udmf_ErrCode.\n @since 12"]
    pub fn OH_UdmfData_AddRecord(
        pThis: *mut OH_UdmfData,
        record: *mut OH_UdmfRecord,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    #[doc = " @brief Check whether the type exists in the {@link OH_UdmfData} data.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdmfData}.\n @param type Represents a string pointer of the type.\n @return Returns the status of finding type.\n         {@code false} is not existed.\n         {@code true} is existed.\n @see OH_UdmfData.\n @since 12"]
    pub fn OH_UdmfData_HasType(
        pThis: *mut OH_UdmfData,
        type_: *const ::std::os::raw::c_char,
    ) -> bool;
}
extern "C" {
    #[doc = " @brief Get all types in the {@link OH_UdmfData} data.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdmfData}.\n @param count Represents the types count that is a output param.\n @return Returns string array that in {@link OH_UdmfData} when input parameters valid,\n otherwise return nullptr.\n @see OH_UdmfData.\n @since 12"]
    pub fn OH_UdmfData_GetTypes(
        pThis: *mut OH_UdmfData,
        count: *mut ::std::os::raw::c_uint,
    ) -> *mut *mut ::std::os::raw::c_char;
}
extern "C" {
    #[doc = " @brief Get all records in the {@link OH_UdmfData} data.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdmfData}.\n @param count Represents the records count that is a output param.\n @return Returns {@link OH_UdmfRecord} pointer array when input parameters valid, otherwise return nullptr.\n @see OH_UdmfData OH_UdmfRecord.\n @since 12"]
    pub fn OH_UdmfData_GetRecords(
        pThis: *mut OH_UdmfData,
        count: *mut ::std::os::raw::c_uint,
    ) -> *mut *mut OH_UdmfRecord;
}
#[doc = " @brief Defines the callback function used free the context.\n @param context Pointer to the context which is to be free.\n @since 13"]
pub type UdmfData_Finalize =
    ::std::option::Option<unsafe extern "C" fn(context: *mut ::std::os::raw::c_void)>;
extern "C" {
    #[doc = " @brief Creates an {@link OH_UdmfRecordProvider} instance.\n\n @return Returns the pointer to the {@link OH_UdmfRecordProvider} instance created if the operation is successful.\n Returns nullptr if the memory is not enough.\n @see OH_UdmfRecordProvider.\n @since 13"]
    pub fn OH_UdmfRecordProvider_Create() -> *mut OH_UdmfRecordProvider;
}
extern "C" {
    #[doc = " @brief Destroy an {@link OH_UdmfRecordProvider} instance.\n\n @param subscriber Pointer to the {@link OH_UdmfRecordProvider} instance to destroy.\n @return Returns the status code of the execution. For details, see {@link Udmf_ErrCode}.\n         Returns {@link UDMF_E_OK} if the operation is successful.\n         Returns {@link UDMF_E_INVALID_PARAM} if invalid args are detected.\n @see OH_UdmfRecordProvider Udmf_ErrCode.\n @since 13"]
    pub fn OH_UdmfRecordProvider_Destroy(
        provider: *mut OH_UdmfRecordProvider,
    ) -> ::std::os::raw::c_int;
}
#[doc = " @brief Defines a callback function used to obtain data by type.\n\n @param context Pointer to the context set by {@link OH_UdmfRecordProvider_SetData}.\n @param type Pointer to the type of data to obtain. For details, see {@link udmf_meta.h}.\n @return Returns the data content.\n @since 13"]
pub type OH_UdmfRecordProvider_GetData = ::std::option::Option<
    unsafe extern "C" fn(
        context: *mut ::std::os::raw::c_void,
        type_: *const ::std::os::raw::c_char,
    ) -> *mut ::std::os::raw::c_void,
>;
extern "C" {
    #[doc = " @brief Sets a callback function to obtain data.\n\n @param provider Pointer to the {@link OH_UdmfRecordProvider} instance.\n @param context Pointer to the context set, which is the first parameter in OH_UdmfRecordProvider_GetData.\n @param callback Callback to set. For details, see {@link OH_UdmfRecordProvider_GetData}.\n @param finalize Optional callback that can free context when destroy provider.\n         For details, see {@link UdmfData_Finalize}.\n @return Returns the status code of the execution. For details, see {@link Udmf_ErrCode}.\n         Returns {@link UDMF_E_OK} if the operation is successful.\n         Returns {@link UDMF_E_INVALID_PARAM} if invalid args are detected.\n @see OH_UdmfRecordProvider OH_UdmfRecordProvider_GetData UdmfData_Finalize Udmf_ErrCode.\n @since 13"]
    pub fn OH_UdmfRecordProvider_SetData(
        provider: *mut OH_UdmfRecordProvider,
        context: *mut ::std::os::raw::c_void,
        callback: OH_UdmfRecordProvider_GetData,
        finalize: UdmfData_Finalize,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    #[doc = " @brief Creation a pointer to the instance of the {@link OH_UdmfRecord}, it's relate with UDS data.\n\n @return If the operation is successful, a pointer to the instance of the {@link OH_UdmfRecord}\n structure is returned. If the operation is failed, nullptr is returned.\n @see OH_UdmfRecord.\n @since 12"]
    pub fn OH_UdmfRecord_Create() -> *mut OH_UdmfRecord;
}
extern "C" {
    #[doc = " @brief Destroy a pointer that points to an instance of {@link OH_UdmfRecord}.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdmfRecord}.\n @see OH_UdmfRecord.\n @since 12"]
    pub fn OH_UdmfRecord_Destroy(pThis: *mut OH_UdmfRecord);
}
extern "C" {
    #[doc = " @brief Add one custom data to the {@link OH_UdmfRecord} record.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdmfRecord}.\n @param typeId Represents record type, reference udmf_meta.h.\n @param entry Represents custom data.\n @param count Represents the size of data param.\n @return Returns the status code of the execution. See {@link Udmf_ErrCode}.\n         {@link UDMF_E_OK} success.\n         {@link UDMF_E_INVALID_PARAM} The error code for common invalid args.\n @see OH_UdmfRecord Udmf_ErrCode.\n @since 12"]
    pub fn OH_UdmfRecord_AddGeneralEntry(
        pThis: *mut OH_UdmfRecord,
        typeId: *const ::std::os::raw::c_char,
        entry: *mut ::std::os::raw::c_uchar,
        count: ::std::os::raw::c_uint,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    #[doc = " @brief Add one {OH_UdsPlainText} data to the {@link OH_UdmfRecord} record.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdmfRecord}.\n @param plainText Represents a pointer to an instance of {@link OH_UdsPlainText}.\n @return Returns the status code of the execution. See {@link Udmf_ErrCode}.\n         {@link UDMF_E_OK} success.\n         {@link UDMF_E_INVALID_PARAM} The error code for common invalid args.\n @see OH_UdmfRecord OH_UdsPlainText Udmf_ErrCode.\n @since 12"]
    pub fn OH_UdmfRecord_AddPlainText(
        pThis: *mut OH_UdmfRecord,
        plainText: *mut OH_UdsPlainText,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    #[doc = " @brief Add one {OH_UdsHyperlink} data to the {@link OH_UdmfRecord} record.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdmfRecord}.\n @param hyperlink Represents a pointer to an instance of {@link OH_UdsHyperlink}.\n @return Returns the status code of the execution. See {@link Udmf_ErrCode}.\n         {@link UDMF_E_OK} success.\n         {@link UDMF_E_INVALID_PARAM} The error code for common invalid args.\n @see OH_UdmfRecord OH_UdsHyperlink Udmf_ErrCode.\n @since 12"]
    pub fn OH_UdmfRecord_AddHyperlink(
        pThis: *mut OH_UdmfRecord,
        hyperlink: *mut OH_UdsHyperlink,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    #[doc = " @brief Add one {OH_UdsHtml} data to the {@link OH_UdmfRecord} record.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdmfRecord}.\n @param html Represents a pointer to an instance of {@link OH_UdsHtml}.\n @return Returns the status code of the execution. See {@link Udmf_ErrCode}.\n         {@link UDMF_E_OK} success.\n         {@link UDMF_E_INVALID_PARAM} The error code for common invalid args.\n @see OH_UdmfRecord OH_UdsHtml Udmf_ErrCode.\n @since 12"]
    pub fn OH_UdmfRecord_AddHtml(
        pThis: *mut OH_UdmfRecord,
        html: *mut OH_UdsHtml,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    #[doc = " @brief Add one {OH_UdsAppItem} data to the {@link OH_UdmfRecord} record.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdmfRecord}.\n @param appItem Represents a pointer to an instance of {@link OH_UdsAppItem}.\n @return Returns the status code of the execution. See {@link Udmf_ErrCode}.\n         {@link UDMF_E_OK} success.\n         {@link UDMF_E_INVALID_PARAM} The error code for common invalid args.\n @see OH_UdmfRecord OH_UdsAppItem Udmf_ErrCode.\n @since 12"]
    pub fn OH_UdmfRecord_AddAppItem(
        pThis: *mut OH_UdmfRecord,
        appItem: *mut OH_UdsAppItem,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    #[doc = " @brief Add one {OH_UdsFileUri} data to the {@link OH_UdmfRecord} record.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdmfRecord}.\n @param fileUri Represents a pointer to an instance of {@link OH_UdsFileUri}.\n @return Returns the status code of the execution. See {@link Udmf_ErrCode}.\n         {@link UDMF_E_OK} success.\n         {@link UDMF_E_INVALID_PARAM} The error code for common invalid args.\n @see OH_UdmfRecord OH_UdsFileUri Udmf_ErrCode.\n @since 13"]
    pub fn OH_UdmfRecord_AddFileUri(
        pThis: *mut OH_UdmfRecord,
        fileUri: *mut OH_UdsFileUri,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    #[doc = " @brief Add one {OH_UdsPixelMap} data to the {@link OH_UdmfRecord} record.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdmfRecord}.\n @param pixelMap Represents a pointer to an instance of {@link OH_UdsPixelMap}.\n @return Returns the status code of the execution. See {@link Udmf_ErrCode}.\n         {@link UDMF_E_OK} success.\n         {@link UDMF_E_INVALID_PARAM} The error code for common invalid args.\n @see OH_UdmfRecord OH_UdsPixelMap Udmf_ErrCode.\n @since 13"]
    pub fn OH_UdmfRecord_AddPixelMap(
        pThis: *mut OH_UdmfRecord,
        pixelMap: *mut OH_UdsPixelMap,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    #[doc = " @brief Add one {@link OH_UdsArrayBuffer} data to the {@link OH_UdmfRecord} record.\n\n @param record Represents a pointer to an instance of {@link OH_UdmfRecord}.\n @param type Represents record type, reference udmf_meta.h.\n @param buffer Represents a pointer to an instance of {@link OH_UdsArrayBuffer}.\n @return Returns the status code of the execution. See {@link Udmf_ErrCode}.\n         {@link UDMF_E_OK} success.\n         {@link UDMF_E_INVALID_PARAM} The error code for common invalid args.\n @see OH_UdmfRecord OH_UdsArrayBuffer Udmf_ErrCode.\n @since 13"]
    pub fn OH_UdmfRecord_AddArrayBuffer(
        record: *mut OH_UdmfRecord,
        type_: *const ::std::os::raw::c_char,
        buffer: *mut OH_UdsArrayBuffer,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    #[doc = " @brief Add one {@link OH_UdsContentForm} data to the {@link OH_UdmfRecord} record.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdmfRecord}.\n @param contentForm Represents a pointer to an instance of {@link OH_UdsContentForm}.\n @return Returns the status code of the execution. See {@link Udmf_ErrCode}.\n         {@link UDMF_E_OK} success.\n         {@link UDMF_E_INVALID_PARAM} The error code for common invalid args.\n @see OH_UdmfRecord OH_UdsContentForm Udmf_ErrCode.\n @since 14"]
    pub fn OH_UdmfRecord_AddContentForm(
        pThis: *mut OH_UdmfRecord,
        contentForm: *mut OH_UdsContentForm,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    #[doc = " @brief Get all types in the {@link OH_UdmfRecord} record.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdmfRecord}.\n @param count Represents the types count that is a output param.\n @return Returns string array that in {@link OH_UdmfRecord} when input parameters valid,\n otherwise return nullptr.\n @see OH_UdmfRecord.\n @since 12"]
    pub fn OH_UdmfRecord_GetTypes(
        pThis: *mut OH_UdmfRecord,
        count: *mut ::std::os::raw::c_uint,
    ) -> *mut *mut ::std::os::raw::c_char;
}
extern "C" {
    #[doc = " @brief Get one entry data from the {@link OH_UdmfRecord} record.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdmfRecord}.\n @param typeId Represents record type, reference udmf_meta.h.\n @param entry Represents a pointer to entry data that is a output param.\n @param count Represents the entry data length that is a output param.\n @return Returns the status code of the execution. See {@link Udmf_ErrCode}.\n         {@link UDMF_E_OK} success.\n         {@link UDMF_E_INVALID_PARAM} The error code for common invalid args.\n         {@link UDMF_ERR} Internal data error.\n @see OH_UdmfRecord Udmf_ErrCode.\n @since 12"]
    pub fn OH_UdmfRecord_GetGeneralEntry(
        pThis: *mut OH_UdmfRecord,
        typeId: *const ::std::os::raw::c_char,
        entry: *mut *mut ::std::os::raw::c_uchar,
        count: *mut ::std::os::raw::c_uint,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    #[doc = " @brief Get one {OH_UdsPlainText} data from the {@link OH_UdmfRecord} record.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdmfRecord}.\n @param plainText Represents a pointer to an instance of {@link OH_UdsPlainText}.\n @return Returns the status code of the execution. See {@link Udmf_ErrCode}.\n         {@link UDMF_E_OK} success.\n         {@link UDMF_E_INVALID_PARAM} The error code for common invalid args.\n         {@link UDMF_ERR} Internal data error.\n @see OH_UdmfRecord OH_UdsPlainText Udmf_ErrCode.\n @since 12"]
    pub fn OH_UdmfRecord_GetPlainText(
        pThis: *mut OH_UdmfRecord,
        plainText: *mut OH_UdsPlainText,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    #[doc = " @brief Get one {OH_UdsHyperlink} data from the {@link OH_UdmfRecord} record.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdmfRecord}.\n @param hyperlink Represents a pointer to an instance of {@link OH_UdsHyperlink}.\n @return Returns the status code of the execution. See {@link Udmf_ErrCode}.\n         {@link UDMF_E_OK} success.\n         {@link UDMF_E_INVALID_PARAM} The error code for common invalid args.\n         {@link UDMF_ERR} Internal data error.\n @see OH_UdmfRecord OH_UdsHyperlink Udmf_ErrCode.\n @since 12"]
    pub fn OH_UdmfRecord_GetHyperlink(
        pThis: *mut OH_UdmfRecord,
        hyperlink: *mut OH_UdsHyperlink,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    #[doc = " @brief Get one {OH_UdsHtml} data from the {@link OH_UdmfRecord} record.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdmfRecord}.\n @param html Represents a pointer to an instance of {@link OH_UdsHtml}.\n @return Returns the status code of the execution. See {@link Udmf_ErrCode}.\n         {@link UDMF_E_OK} success.\n         {@link UDMF_E_INVALID_PARAM} The error code for common invalid args.\n         {@link UDMF_ERR} Internal data error.\n @see OH_UdmfRecord OH_UdsHtml Udmf_ErrCode.\n @since 12"]
    pub fn OH_UdmfRecord_GetHtml(
        pThis: *mut OH_UdmfRecord,
        html: *mut OH_UdsHtml,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    #[doc = " @brief Get one {OH_UdsAppItem} data from the {@link OH_UdmfRecord} record.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdmfRecord}.\n @param appItem Represents a pointer to an instance of {@link OH_UdsAppItem}.\n @return Returns the status code of the execution. See {@link Udmf_ErrCode}.\n         {@link UDMF_E_OK} success.\n         {@link UDMF_E_INVALID_PARAM} The error code for common invalid args.\n         {@link UDMF_ERR} Internal data error.\n @see OH_UdmfRecord OH_UdsAppItem Udmf_ErrCode.\n @since 12"]
    pub fn OH_UdmfRecord_GetAppItem(
        pThis: *mut OH_UdmfRecord,
        appItem: *mut OH_UdsAppItem,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    #[doc = " @brief Set the data provider of the types.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdmfRecord}.\n @param types Represents a pointer to a group of data types;\n @param count Represents the number of data types;\n @param provider Represents a pointer an instance of {@link OH_UdmfRecordProvider}.\n @return Returns the status code of the execution. See {@link Udmf_ErrCode}.\n         {@link UDMF_E_OK} success.\n         {@link UDMF_E_INVALID_PARAM} The error code for common invalid args.\n @see OH_UdmfRecord OH_UdmfRecordProvider Udmf_ErrCode.\n @since 13"]
    pub fn OH_UdmfRecord_SetProvider(
        pThis: *mut OH_UdmfRecord,
        types: *const *const ::std::os::raw::c_char,
        count: ::std::os::raw::c_uint,
        provider: *mut OH_UdmfRecordProvider,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    #[doc = " @brief Get one {OH_UdsFileUri} data from the {@link OH_UdmfRecord} record.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdmfRecord}.\n @param fileUri Represents a pointer to an instance of {@link OH_UdsFileUri}.\n @return Returns the status code of the execution. See {@link Udmf_ErrCode}.\n         {@link UDMF_E_OK} success.\n         {@link UDMF_E_INVALID_PARAM} The error code for common invalid args.\n @see OH_UdmfRecord OH_UdsFileUri Udmf_ErrCode.\n @since 13"]
    pub fn OH_UdmfRecord_GetFileUri(
        pThis: *mut OH_UdmfRecord,
        fileUri: *mut OH_UdsFileUri,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    #[doc = " @brief Get one {OH_UdsPixelMap} data from the {@link OH_UdmfRecord} record.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdmfRecord}.\n @param pixelMap Represents a pointer to an instance of {@link OH_UdsPixelMap}.\n @return Returns the status code of the execution. See {@link Udmf_ErrCode}.\n         {@link UDMF_E_OK} success.\n         {@link UDMF_E_INVALID_PARAM} The error code for common invalid args.\n @see OH_UdmfRecord OH_UdsPixelMap Udmf_ErrCode.\n @since 13"]
    pub fn OH_UdmfRecord_GetPixelMap(
        pThis: *mut OH_UdmfRecord,
        pixelMap: *mut OH_UdsPixelMap,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    #[doc = " @brief Get one {@link OH_UdsArrayBuffer} data from the {@link OH_UdmfRecord} record.\n\n @param record Represents a pointer to an instance of {@link OH_UdmfRecord}.\n @param type Represents record type, reference udmf_meta.h.\n @param buffer Represents a pointer to an instance of {@link OH_UdsArrayBuffer}.\n @return Returns the status code of the execution. See {@link Udmf_ErrCode}.\n         {@link UDMF_E_OK} success.\n         {@link UDMF_E_INVALID_PARAM} The error code for common invalid args.\n @see OH_UdmfRecord OH_UdsArrayBuffer Udmf_ErrCode.\n @since 13"]
    pub fn OH_UdmfRecord_GetArrayBuffer(
        record: *mut OH_UdmfRecord,
        type_: *const ::std::os::raw::c_char,
        buffer: *mut OH_UdsArrayBuffer,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    #[doc = " @brief Get one {@link OH_UdsContentForm} data from the {@link OH_UdmfRecord} record.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdmfRecord}.\n @param contentForm Represents a pointer to an instance of {@link OH_UdsContentForm}.\n @return Returns the status code of the execution. See {@link Udmf_ErrCode}.\n         {@link UDMF_E_OK} success.\n         {@link UDMF_E_INVALID_PARAM} The error code for common invalid args.\n @see OH_UdmfRecord OH_UdsContentForm Udmf_ErrCode.\n @since 14"]
    pub fn OH_UdmfRecord_GetContentForm(
        pThis: *mut OH_UdmfRecord,
        contentForm: *mut OH_UdsContentForm,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    #[doc = " @brief Get primary {@link OH_UdsPlainText} data from the {@link OH_UdmfData}.\n\n @param data Represents a pointer to an instance of {@link OH_UdmfData}.\n @param plainText Represents a pointer to an instance of {@link OH_UdsPlainText}.\n @return Returns the status code of the execution. See {@link Udmf_ErrCode}.\n         {@link UDMF_E_OK} success.\n         {@link UDMF_E_INVALID_PARAM} The error code for common invalid args.\n @see OH_UdmfData OH_UdsPlainText Udmf_ErrCode.\n @since 13"]
    pub fn OH_UdmfData_GetPrimaryPlainText(
        data: *mut OH_UdmfData,
        plainText: *mut OH_UdsPlainText,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    #[doc = " @brief Get one {@link OH_UdsHtml} data from the {@link OH_UdmfData}.\n\n @param data Represents a pointer to an instance of {@link OH_UdmfData}.\n @param html Represents a pointer to an instance of {@link OH_UdsHtml}.\n @return Returns the status code of the execution. See {@link Udmf_ErrCode}.\n         {@link UDMF_E_OK} success.\n         {@link UDMF_E_INVALID_PARAM} The error code for common invalid args.\n @see OH_UdmfData OH_UdsHtml Udmf_ErrCode.\n @since 13"]
    pub fn OH_UdmfData_GetPrimaryHtml(
        data: *mut OH_UdmfData,
        html: *mut OH_UdsHtml,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    #[doc = " @brief Get the count of {@link OH_UdmfRecord} in the {@link OH_UdmfData}.\n\n @param data Represents a pointer to an instance of {@link OH_UdmfData}.\n @return Returns the count of {@link OH_UdmfRecord}\n @see OH_UdmfData.\n @since 13"]
    pub fn OH_UdmfData_GetRecordCount(data: *mut OH_UdmfData) -> ::std::os::raw::c_int;
}
extern "C" {
    #[doc = " @brief Get the record of the specified index from the {@link OH_UdmfData}.\n\n @param data Represents a pointer to an instance of {@link OH_UdmfData}.\n @param index Represents the index of {@link OH_UdmfRecord} in the {@link OH_UdmfData}.\n @return Returns {@link OH_UdmfRecord} pointer when input parameters valid, otherwise return nullptr.\n @see OH_UdmfData.\n @since 13"]
    pub fn OH_UdmfData_GetRecord(
        data: *mut OH_UdmfData,
        index: ::std::os::raw::c_uint,
    ) -> *mut OH_UdmfRecord;
}
extern "C" {
    #[doc = " @brief Checks whether the UDMF data is from a local device.\n\n @param data Represents a pointer to an instance of {@link OH_UdmfData}.\n @return Returns a boolean value, which indicates whether the UDMF data is from a local device.\n         The value {@code true} means the data is from a local device.\n         The value {@code false} means the opposite.\n @see OH_UdmfData.\n @since 13"]
    pub fn OH_UdmfData_IsLocal(data: *mut OH_UdmfData) -> bool;
}
extern "C" {
    #[doc = " @brief Creation a pointer to the instance of the {@link OH_UdmfProperty}\n from a {@link OH_UdmfData} data.\n\n @param unifiedData Represents a pointer to an instance of {@link OH_UdmfData}.\n @return If the operation is successful, a pointer to the instance of the {@link OH_UdmfProperty}\n structure is returned. If the operation is failed, nullptr is returned.\n @see OH_UdmfData OH_UdmfProperty.\n @since 12"]
    pub fn OH_UdmfProperty_Create(unifiedData: *mut OH_UdmfData) -> *mut OH_UdmfProperty;
}
extern "C" {
    #[doc = " @brief Destroy a pointer that points to the {@link OH_UdmfProperty} instance.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdmfProperty}.\n @see OH_UdmfProperty.\n @since 12"]
    pub fn OH_UdmfProperty_Destroy(pThis: *mut OH_UdmfProperty);
}
extern "C" {
    #[doc = " @brief Get tag value from the {@link OH_UdmfProperty}.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdmfProperty}.\n @return Returns a pointer of the tag value string when input parameters valid, otherwise return nullptr.\n @see OH_UdmfProperty.\n @since 12"]
    pub fn OH_UdmfProperty_GetTag(pThis: *mut OH_UdmfProperty) -> *const ::std::os::raw::c_char;
}
extern "C" {
    #[doc = " @brief Get timestamp value from the {@link OH_UdmfProperty}.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdmfProperty}.\n @return Returns timestamp value.\n @see OH_UdmfProperty\n @since 12"]
    pub fn OH_UdmfProperty_GetTimestamp(pThis: *mut OH_UdmfProperty) -> i64;
}
extern "C" {
    #[doc = " @brief Get share option value from the {@link OH_UdmfProperty}.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdmfProperty}.\n @return Returns {@link Udmf_ShareOption} value.\n @see OH_UdmfProperty Udmf_ShareOption\n @since 12"]
    pub fn OH_UdmfProperty_GetShareOption(pThis: *mut OH_UdmfProperty) -> Udmf_ShareOption;
}
extern "C" {
    #[doc = " @brief Get integer value by key from the {@link OH_UdmfProperty}.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdmfProperty}.\n @param key Represents key-value pair's key\n @param defaultValue Represents when get value failure.\n @return Returns value associated with the key in successfully, otherwise return defaultValue.\n @see OH_UdmfProperty.\n @since 12"]
    pub fn OH_UdmfProperty_GetExtrasIntParam(
        pThis: *mut OH_UdmfProperty,
        key: *const ::std::os::raw::c_char,
        defaultValue: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    #[doc = " @brief Get tag value from the {@link OH_UdmfProperty}.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdmfProperty}.\n @param key Represents key-value pair's key.\n @return Returns a pointer of the key value string when input parameters valid, otherwise return nullptr.\n @see OH_UdmfProperty\n @since 12"]
    pub fn OH_UdmfProperty_GetExtrasStringParam(
        pThis: *mut OH_UdmfProperty,
        key: *const ::std::os::raw::c_char,
    ) -> *const ::std::os::raw::c_char;
}
extern "C" {
    #[doc = " @brief Set tag value to {@link OH_UdmfProperty} .\n\n @param pThis Represents a pointer to an instance of {@link OH_UdmfProperty}.\n @param tag Represents new tag param.\n @return Returns the status code of the execution. See {@link Udmf_ErrCode}.\n         {@link UDMF_E_OK} success.\n         {@link UDMF_E_INVALID_PARAM} The error code for common invalid args.\n @see OH_UdmfProperty Udmf_ErrCode.\n @since 12"]
    pub fn OH_UdmfProperty_SetTag(
        pThis: *mut OH_UdmfProperty,
        tag: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    #[doc = " @brief Set Udmf_ShareOption value to {@link OH_UdmfProperty}.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdmfProperty}.\n @param option Represents new {@link Udmf_ShareOption} param.\n @return Returns the status code of the execution. See {@link Udmf_ErrCode}.\n         {@link UDMF_E_OK} success.\n         {@link UDMF_E_INVALID_PARAM} The error code for common invalid args.\n @see OH_UdmfProperty Udmf_ShareOption Udmf_ErrCode.\n @since 12"]
    pub fn OH_UdmfProperty_SetShareOption(
        pThis: *mut OH_UdmfProperty,
        option: Udmf_ShareOption,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    #[doc = " @brief Set extras param to {@link OH_UdmfProperty}.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdmfProperty}.\n @param key Represents extras param's key value.\n @param param Represents value of k-v pairs.\n @return Returns the status code of the execution. See {@link Udmf_ErrCode}.\n         {@link UDMF_E_OK} success.\n         {@link UDMF_E_INVALID_PARAM} The error code for common invalid args.\n @see OH_UdmfProperty Udmf_ErrCode.\n @since 12"]
    pub fn OH_UdmfProperty_SetExtrasIntParam(
        pThis: *mut OH_UdmfProperty,
        key: *const ::std::os::raw::c_char,
        param: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    #[doc = " @brief Set extras param to {@link OH_UdmfProperty}.\n\n @param pThis Represents a pointer to an instance of {@link OH_UdmfProperty}.\n @param key Represents extras param's key value.\n @param param Represents value of k-v pairs.\n @return Returns the status code of the execution. See {@link Udmf_ErrCode}.\n         {@link UDMF_E_OK} success.\n         {@link UDMF_E_INVALID_PARAM} The error code for common invalid args.\n @see OH_UdmfProperty Udmf_ErrCode.\n @since 12"]
    pub fn OH_UdmfProperty_SetExtrasStringParam(
        pThis: *mut OH_UdmfProperty,
        key: *const ::std::os::raw::c_char,
        param: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    #[doc = " @brief Get {@link OH_UdmfData} data from udmf database.\n\n @param key Represents database store's key value.\n @param intention Represents data type {@link Udmf_Intention}\n @param unifiedData Represents output params of {@link OH_UdmfData};\n @return Returns the status code of the execution. See {@link Udmf_ErrCode}.\n         {@link UDMF_E_OK} success.\n         {@link UDMF_E_INVALID_PARAM} The error code for common invalid args.\n         {@link UDMF_ERR} Internal data error.\n @see OH_UdmfProperty Udmf_Intention Udmf_ErrCode.\n @since 12"]
    pub fn OH_Udmf_GetUnifiedData(
        key: *const ::std::os::raw::c_char,
        intention: Udmf_Intention,
        unifiedData: *mut OH_UdmfData,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    #[doc = " @brief Set {@link OH_UdmfData} data to database.\n\n @param intention Represents data type {@link Udmf_Intention}.\n @param unifiedData Represents a pointer to an instance of {@link OH_UdmfData}.\n @param key Represents return value after set data to database successfully,\n it's memory size not less than {@link UDMF_KEY_BUFFER_LEN}.\n @param keyLen Represents size of key param.\n @return Returns the status code of the execution. See {@link Udmf_ErrCode}.\n         {@link UDMF_E_OK} success.\n         {@link UDMF_E_INVALID_PARAM} The error code for common invalid args.\n         {@link UDMF_ERR} Internal data error.\n @see OH_UdmfProperty Udmf_Intention Udmf_ErrCode.\n @since 12"]
    pub fn OH_Udmf_SetUnifiedData(
        intention: Udmf_Intention,
        unifiedData: *mut OH_UdmfData,
        key: *mut ::std::os::raw::c_char,
        keyLen: ::std::os::raw::c_uint,
    ) -> ::std::os::raw::c_int;
}
#[doc = " The error code in the correct case."]
pub const Udmf_ErrCode_UDMF_E_OK: Udmf_ErrCode = 0;
#[doc = " @brief The error code for common exceptions."]
pub const Udmf_ErrCode_UDMF_ERR: Udmf_ErrCode = 20400000;
#[doc = " @brief The error code for common invalid args."]
pub const Udmf_ErrCode_UDMF_E_INVALID_PARAM: Udmf_ErrCode = 20400001;
#[doc = " @brief Indicates the error code information.\n\n @since 12"]
pub type Udmf_ErrCode = ::std::os::raw::c_uint;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct OH_Utd {
    _unused: [u8; 0],
}
extern "C" {
    #[doc = " @brief Prouct a pointer to the instance of the {@link OH_Utd}.\n\n @param typeId Represents type of UTD, reference udmf_meta.h.\n @return If the operation is successful, a pointer to the instance of the {@link OH_Utd}\n structure is returned.If the operation is failed, nullptr is returned.\n Must be destroyed with {@link OH_Utd_DestroyTypeDescriptor} when not needed.\n @see OH_Utd.\n @since 12"]
    pub fn OH_Utd_Create(typeId: *const ::std::os::raw::c_char) -> *mut OH_Utd;
}
extern "C" {
    #[doc = " @brief Destroy a pointer that points to the {@link OH_Utd} instance.\n\n @param pThis Represents a pointer to an instance of {@link OH_Utd}.\n @see OH_Utd.\n @since 12"]
    pub fn OH_Utd_Destroy(pThis: *mut OH_Utd);
}
extern "C" {
    #[doc = " @brief Get type id from the {@link OH_Utd}.\n\n @param pThis Represents a pointer to an instance of {@link OH_Utd}.\n @return Returns a string pointer when input args normally, otherwise return nullptr.\n @see OH_Utd.\n @since 12"]
    pub fn OH_Utd_GetTypeId(pThis: *mut OH_Utd) -> *const ::std::os::raw::c_char;
}
extern "C" {
    #[doc = " @brief Get description from the {@link OH_Utd}.\n\n @param pThis Represents a pointer to an instance of {@link OH_Utd}.\n @return Returns a string pointer when input args normally, otherwise return nullptr.\n @see OH_Utd.\n @since 12"]
    pub fn OH_Utd_GetDescription(pThis: *mut OH_Utd) -> *const ::std::os::raw::c_char;
}
extern "C" {
    #[doc = " @brief Get url from the {@link OH_Utd}.\n\n @param pThis Represents a pointer to an instance of {@link OH_Utd}.\n @return Returns a string pointer when input args normally, otherwise return nullptr.\n @see OH_Utd.\n @since 12"]
    pub fn OH_Utd_GetReferenceUrl(pThis: *mut OH_Utd) -> *const ::std::os::raw::c_char;
}
extern "C" {
    #[doc = " @brief Get icon file from the {@link OH_Utd}.\n\n @param pThis Represents a pointer to an instance of {@link OH_Utd}.\n @return Returns a string pointer when input args normally, otherwise return nullptr.\n @see OH_Utd.\n @since 12"]
    pub fn OH_Utd_GetIconFile(pThis: *mut OH_Utd) -> *const ::std::os::raw::c_char;
}
extern "C" {
    #[doc = " @brief Get belong to type id of the current {@link OH_Utd}.\n\n @param pThis Represents a pointer to an instance of {@link OH_Utd}.\n @param count Represents the return types count.\n @return Returns string array when input args normally, otherwise return nullptr.\n @see OH_Utd.\n @since 12"]
    pub fn OH_Utd_GetBelongingToTypes(
        pThis: *mut OH_Utd,
        count: *mut ::std::os::raw::c_uint,
    ) -> *mut *const ::std::os::raw::c_char;
}
extern "C" {
    #[doc = " @brief Get filename extensions of the current {@link OH_Utd}.\n\n @param pThis Represents a pointer to an instance of {@link OH_Utd}.\n @param count Represents the return file extensions count.\n @return Returns string array when input args normally, otherwise return nullptr.\n @see OH_Utd.\n @since 12"]
    pub fn OH_Utd_GetFilenameExtensions(
        pThis: *mut OH_Utd,
        count: *mut ::std::os::raw::c_uint,
    ) -> *mut *const ::std::os::raw::c_char;
}
extern "C" {
    #[doc = " @brief Get mime types of the current {@link OH_Utd}.\n\n @param pThis Represents a pointer to an instance of {@link OH_Utd}.\n @param count Represents the mime types count.\n @return Returns string array when input args normally, otherwise return nullptr.\n @see OH_Utd.\n @since 12"]
    pub fn OH_Utd_GetMimeTypes(
        pThis: *mut OH_Utd,
        count: *mut ::std::os::raw::c_uint,
    ) -> *mut *const ::std::os::raw::c_char;
}
extern "C" {
    #[doc = " @brief Get type id by file name extension.\n\n @param extension Represents file name extension.\n @param count Represents the types count.\n @return Returns string list of types. Must be destroyed with {@link OH_Utd_DestroyStringList} when not needed.\n @since 12"]
    pub fn OH_Utd_GetTypesByFilenameExtension(
        extension: *const ::std::os::raw::c_char,
        count: *mut ::std::os::raw::c_uint,
    ) -> *mut *const ::std::os::raw::c_char;
}
extern "C" {
    #[doc = " @brief Get type id by mime type.\n\n @param mimeType Represents mime type\n @param count Represents the types count.\n @return Returns string list of types. Must be destroyed with {@link OH_Utd_DestroyStringList} when not needed.\n @since 12"]
    pub fn OH_Utd_GetTypesByMimeType(
        mimeType: *const ::std::os::raw::c_char,
        count: *mut ::std::os::raw::c_uint,
    ) -> *mut *const ::std::os::raw::c_char;
}
extern "C" {
    #[doc = " @brief Calculate relationships of two types.\n\n @param srcTypeId Represents source type id.\n @param destTypeId Represents target type id.\n @return Returns the status code of the execution.\n         {@code false} Represents srcTypeId not belongs to destTypeId.\n         {@code true} Represents srcTypeId belongs to destTypeId.\n @since 12"]
    pub fn OH_Utd_BelongsTo(
        srcTypeId: *const ::std::os::raw::c_char,
        destTypeId: *const ::std::os::raw::c_char,
    ) -> bool;
}
extern "C" {
    #[doc = " @brief Calculate relationships of two types.\n\n @param srcTypeId Represents source type id.\n @param destTypeId Represents target type id.\n @return Returns the status code of the execution.\n         {@code false} Represents srcTypeId not lower level to destTypeId.\n         {@code true} Represents srcTypeId lower level to destTypeId.\n @since 12"]
    pub fn OH_Utd_IsLower(
        srcTypeId: *const ::std::os::raw::c_char,
        destTypeId: *const ::std::os::raw::c_char,
    ) -> bool;
}
extern "C" {
    #[doc = " @brief Calculate relationships of two types.\n\n @param srcTypeId Represents source type id.\n @param destTypeId Represents target type id.\n @return Returns the status code of the execution.\n         {@code false} Represents srcTypeId not higher level to destTypeId.\n         {@code true} Represents srcTypeId higher level to destTypeId.\n @since 12"]
    pub fn OH_Utd_IsHigher(
        srcTypeId: *const ::std::os::raw::c_char,
        destTypeId: *const ::std::os::raw::c_char,
    ) -> bool;
}
extern "C" {
    #[doc = " @brief Calculate two {@link OH_Utd}s are equal.\n\n @param utd1 Represents a pointer to {@link OH_Utd} instance.\n @param utd2 Represents a pointer to {@link OH_Utd} instance.\n @return Returns the status code of the execution.\n         {@code false} Represents utd1 and utd2 are not equal.\n         {@code true} Represents utd1 and utd2 are equal.\n @since 12"]
    pub fn OH_Utd_Equals(utd1: *mut OH_Utd, utd2: *mut OH_Utd) -> bool;
}
extern "C" {
    #[doc = " @brief Destroy string list memory.\n\n @param list Represents a point to string list.\n @param count Represents string count in list.\n @since 12"]
    pub fn OH_Utd_DestroyStringList(
        list: *mut *const ::std::os::raw::c_char,
        count: ::std::os::raw::c_uint,
    );
}
